-
Notifications
You must be signed in to change notification settings - Fork 182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for certificate rotation #97
Comments
Makes sense - will take a look |
Let me include some information about this request:
Some discussion about multiple certificates. @deshlema I hope I could understand correctly your request. Does the above information match your expectation?. If not , please feel free to correct me. And I have a question about what is your expected action for "SP config". And can you give me some use case of your request. Lots of modern web services require "manual upload" in Admin page for SP config. And IdP "metadata" will be uploaded only the first time when you configure SP. |
We actually have a patch that I would like to upstream, that supports multiple certificates for a SP. If you are interested I would start to try and somehow extract it in a useful way. Indeed there are some questions regarding how to rotate, but these are imho orthogonal and should not be handled in this library. E.g. in our case we configure the idp directly through some custom yaml format generated by our config management, not using SP metadata at all. Another option would be to simply periodically pull it. |
@Zogoo (cc @tngan) I'm having the same issue. Currently I'm using samlify for my SP to login with IdP. Here are my configurations: idp: {
signingCert: idpcert,
encryptCert: idpcert,
}
sp: {
privateKey: spkey,
encPrivateKey: spkey,
} During the rotation period, IdP may provide multiple certs in their metadata. But before switching over, IdP keeps using old key for actual signing/encrypting. At some point, IdP may finally switch and use new key for signing/encrypting. Then existing SP will not work anymore without updating the trusted cert. So to ensure no down time during cert/key rotation, SP must be able to support multiple IdP certs at the same time. Seems this feature is supported under metadata configuration: tngan/samlify#364 Is it possible to quickly reuse the same logic and support it in programmatic config as well? I would expect target configuration to be like: Exisiting: {
signingCert?: string | Buffer;
encryptCert?: string | Buffer;
}
Target: {
signingCert?: string | Buffer | string[];
encryptCert?: string | Buffer | string[];
} |
@carsonwah I'm sorry for the very delayed answer. Somehow I missed your message. |
SAML IdPs often rotate their signing keys. From my understanding, this is done by publishing two certs to the metadata endpoint in parallel for some period of time to allow service providers to validate against both. This avoids an outage of the service provider when the signing cert is changed.
From what I can tell, this gem does not support publishing two certs in parallel to the metadata endpoint. Is that accurate? Would you take a feature request to make this possible?
The text was updated successfully, but these errors were encountered: