multi-output serialiser for offline use cases
Description
Environment
is related to
Activity

Ian YoungOctober 19, 2016 at 3:28 PM
Do not close until 0.10.0

Ian YoungOctober 19, 2016 at 3:13 PM
New example documenting this added to the wiki.
https://wiki.shibboleth.net/confluence/display/MA1/Example%3A+Per-entity+Output

Ian YoungOctober 5, 2016 at 9:34 AMEdited
Changes cherry-picked onto master branch for 0.10.0.

Ian YoungSeptember 23, 2016 at 3:34 PM
I'm not sure this comment belongs in this particular issue
It doesn't really belong here. This case is about serialising signed metadata regardless of how it is signed.
However, the stage that does signing is called XMLSignatureSigningStage
. Eyeballing it leads me to believe that if you simply don't set the certificates
property, it won't include any X.509 data. If this is important, make a new JIRA case asking for the ability to do what you want and I can check it through and close it if we already support it.
unless it's not using OpenSAML's KeyInfoGenerator
The MDA code isn't dependent on OpenSAML at all as things stand. Chad wrote custom code for the XMLSignatureSigningStage
. Rewriting it at some point to use the OpenSAML code does make sense, but hasn't been a priority.
Scott CantorSeptember 21, 2016 at 5:15 PM
Or just a smaller KeyInfo, I suppose, perhaps KeyName only. I would imagine this is just configuration unless it's not using OpenSAML's KeyInfoGenerator.
Details
Assignee
Ian YoungIan YoungReporter
Ian YoungIan YoungComponents
Affects versions
Details
Details
Assignee

Reporter

The standard serialiser writes the output to a single file. For some use cases such as off-line signature of individual entities rather than or in addition to an aggregate, it would be useful to have a multi-output serialiser, where each Item is serialised to a different file.
I'd suggest that the stage require a strategy property which derives the File to write to from the Item's metadata. In particular, the use case where we sign individual entity metadata documents so that they can be fetched by a web service by entity ID would be well served by a strategy function which created the file name as a hash of the entity's entityID.