I have the following issue:
I want to generate the SAML-metadata, for my SSO-ServiceProvider, using node.js and the package
'passport-saml'.
This package includes the method 'generateServiceProviderMetadata( decryptionCert )' which will generate a service provider metadata document suitable for supplying to an identity provider.
this requires an decryptionCert...
Which decryptionCert shall I use, i.e. where and how to get it?
As far as I understand, I need something like:
privateCert: fs.readFileSync('./cert.pem', 'utf-8')
where do I get './cert.pem' ?
Any advises and hints will be appreciated.
In fact, you need to generate your own certificate for this. If you have private key, you can use it to generate cert file:
openssl req -x509 -nodes -days 365 -key mykey.key -out certificate.crt
Where mykey.key is your existing key, and certificate.crt is newly generated certificate you should pass as a parameter to generateServiceProviderMetadata function.
If you don't have a private key yet, using this command will generate one for you:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out certificate.crt
Of course, first you need to load cert. into memory using fs.readFileSync
So, here are steps:
1. Generate .crt file
2. Load it into variable: var decryptionCert: fs.readFileSync('./certificate.crt', 'utf-8')
3. Generate metadata file, calling provided function:
myStrategy.generateServiceProviderMetadata(decryptionCert)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With