我有以下问题:
我想使用node.js和包为我的SSO-ServiceProvider生成SAML元数据
该包包括方法’generateServiceProviderMetadata(decryptionCert)’,其将生成适合于提供给身份提供者的服务提供者元数据文档.
这需要一个decryptionCert …
我应该使用哪种decryptionCert,即在何处以及如何获得它?
据我了解,我需要这样的东西:
privateCert: fs.readFileSync('./cert.pem','utf-8')
我在哪里得到’./cert.pem’?
任何建议和提示将不胜感激.
解决方法
实际上,您需要为此生成自己的证书.如果您有私钥,可以使用它来生成证书文件:
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)