[WIP - NOT READY] Support DSA and ECDSA signing keys #683
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #661
Currently RubySaml supports only RSA keys. The SAML standard can also support ECDSA and DSA keys. This PR adds support for both:
It includes the following changes, which are all done in a backward compatible manner:
settings.security[:signature_method]
now ignores the "rsa" component of its user-set value and automatically uses whatever type of SP signing public key you actually set (e.g. a DSA key) plus the "sha" component of the value.settings.security[:signature_method]
supports shortcut values:sha1
,:sha256
, etc.:rsa_sha256
,:dsa_sha256
etc. also work, but as per above the "rsa"/"dsa" are ignored in favor of the SP public key type.settings.security[:digest_method]
supports shortcut valuessha1
,sha256
, etc.XMLSecurity::Crypto
is extracted fromXMLSecurity::Document
Things this PR does NOT do:
TODO: