如何使用generateProviderServiceMetadata()与passport-saml一起使用

时间:2014-07-23 15:24:34

标签: node.js certificate metadata saml

我有以下问题:

我想使用node.js和包

为我的SSO-ServiceProvider生成SAML元数据

'passport-saml'.

此软件包包含方法'generateServiceProviderMetadata(decryptionCert)',它将生成适合提供给身份提供者的服务提供者元数据文档。

这需要一个decryptionCert ...

我应该使用哪种decryptionCert,即在何处以及如何获得它?

据我了解,我需要类似的东西:

  privateCert: fs.readFileSync('./cert.pem', 'utf-8')

我在哪里获得'./cert.pem'?

任何建议和提示将不胜感激。

1 个答案:

答案 0 :(得分:6)

实际上,您需要为此生成自己的证书。如果您有私钥,则可以使用它来生成证书文件:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out certificate.crt

mykey.key 是您现有的密钥, certificate.crt 是新生成的证书,您应该作为参数传递给 generateServiceProviderMetadata 函数。 当然,首先你需要加载证书。使用 fs.readFileSync

进入内存

所以,这是步骤:
1.生成.crt文件
2.将其加载到变量中: var decryptionCert:fs.readFileSync(' ./ certificate.crt',' utf-8')
3.生成元数据文件,调用提供的功能: myStrategy.generateServiceProviderMetadata(decryptionCert)