This tracks the implementation of a validator of CH-EPR SAML assertions -- emitted by the community, not the IDPs. Its to goal is to verify the signature of the assertion against known public keys (provided by the developer), validate some parts of the assertion (as the validity date) and extract common information from it in a simple data structure (we assume the IDP/community have checked these data and we don't try to validate them further).
[x] Implement the assertion validator with OpenSAML 4.
[x] Extract common Swiss information from the assertion.
[ ] Implement JUnit tests.
[ ] Describe the use in the wiki.
A few JUnit tests are implemented, and the code is in use in the eMedication aggregator to test it against real assertions.
Later work:
The CH:CPI transaction should be implemented to retrieve the current list of the communities' public keys.
A SignatureTrustEngine should be implemented to keep the public keys updated and provide them to the validator.
This will be needed for the eMedication aggregator when the cross-community is enabled (not quite soon…).
This tracks the implementation of a validator of CH-EPR SAML assertions -- emitted by the community, not the IDPs. Its to goal is to verify the signature of the assertion against known public keys (provided by the developer), validate some parts of the assertion (as the validity date) and extract common information from it in a simple data structure (we assume the IDP/community have checked these data and we don't try to validate them further).
[x] Implement the assertion validator with OpenSAML 4. [x] Extract common Swiss information from the assertion. [ ] Implement JUnit tests. [ ] Describe the use in the wiki.
A few JUnit tests are implemented, and the code is in use in the eMedication aggregator to test it against real assertions.
Later work:
This will be needed for the eMedication aggregator when the cross-community is enabled (not quite soon…).