[JIRA] Commented: (XSTJ-14) Feature to Allow User to Specify Digest and Signature Algorithm to use when signing metadata
Ian Young (JIRA)
noreply at shibboleth.net
Mon Jul 9 14:48:55 EDT 2012
[ https://issues.shibboleth.net/jira/browse/XSTJ-14?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14241#comment-14241 ]
Ian Young commented on XSTJ-14:
-------------------------------
Assigning to myself, at least for now, as I want to experiment with some of this to try and get some idea about compatibility but potentially for UKf deployment.
Initial implementation notes:
There are two steps in an XML signature, each of which has a URI associated with it.
The "inner" digest of the referenced document is hard-wired within the XMLSecTool CLI as SHA-1.
The "outer" digest-and-sign URI is provided from XMLTooling's default as RSA+SHA-1 for any RSA signing credential (others are used for other credential types, which I suppose means DSA in practice).
The "outer" digest algorithm needs to be compatible with the signing credential; in particular, the result plus some gubbins needs to be smaller than the RSA modulus. This would rule out, for example, SHA-512 with a 512-bit signing key. That's a pretty unlikely combination, though, so perhaps it can be ignored or simply allowed to fail through normal channels.
I think the inner and outer digest functions could theoretically be different (for example, the signature algorithm could be RSA+SHA-1 while the inner digest could be SHA-512) but it's not clear why you'd want to do that.
Providing command line parameters to allow the two algorithms to be overridden would be very easy to do but very ugly in operation and prone to errors which would make the result less secure than you think, for example, by overriding just the inner digest function with SHA-512 and leaving the outer algorithm as RSA+SHA-1.
It would be more complicated to provide a numeric command-line parameter determining *both* hash functions, but it would be a better UI in a lot of ways. It would probably mean putting a lot more logic and knowledge of the URIs into the XMLSecTool UI, though, to make sure that the right outer algorithm was chosen in each case. There may be a class somewhere out there already that can do that, though, which we can use.
> Feature to Allow User to Specify Digest and Signature Algorithm to use when signing metadata
> --------------------------------------------------------------------------------------------
>
> Key: XSTJ-14
> URL: https://issues.shibboleth.net/jira/browse/XSTJ-14
> Project: XML Security Tool - Java
> Issue Type: New Feature
> Affects Versions: 1.1.3
> Reporter: gtkrug at idp.protectnetwork.org
> Assignee: Ian Young
>
> We have a new requirement to sign SAML 2 Metadata files with RSA-256+ and digest method SHA-224+. The URIs are from RFC 4051, and it seems that opensaml supports these algorithms, but there does not seem to be a way to specify to the xmlsectool to use these algorithms.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the commits
mailing list