Currently in case of FIPS devices, there is no support for signing of SAML Authentication Requests. The SAML Assertion coming back from IDP itself can be verified for integrity. There is support only for unsigned SAML Authentication request assertions.
Create SAML action/policy as shown and bind it to the corresponding authentication virtual server:
add authentication samlAction shibboleth -samlIdPCertName shib-idp-242 -samlRedirectUrl "https://idp.wi.int/idp/profile/SAML2/POST/SSO" -samlUserField nameid -samlRejectUnsignedAssertion OFF -samlIssuerName nssp.nsi-test.com add authentication samlPolicy shibboleth ns_true shibboleth
Note: If the IDP is also sending unsigned assertion, you need to set -samlRejectUnsignedAssertion to OFF.
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" AssertionConsumerServiceURL="https://nssp.nsi-test.com/cgi/samlauth" Destination="https://idp.wi.int/idp/profile/SAML2/POST/SSO" ID="_31bbb997abb9aa383c42da4996b3ddef" IssueInstant="2015-03-26T21:07:22Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Version="2.0"> <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">nssp.nsi-test.com</saml:Issuer> </samlp:AuthnRequest>
<saml2p:Response xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" Destination="https://nssp.nsi-test.com/cgi/samlauth" ID="_975d8bb8b282deb6ee08e9a8a5c716f8" InResponseTo="_31bbb997abb9aa383c42da4996b3ddef" IssueInstant="2015-03-26T21:07:09.779Z" Version="2.0" > <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity" >nssp.nsi-test.com</saml2:Issuer> <saml2p:Status> <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /> </saml2p:Status> <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" ID="_5db5a79d40f40cc2d63ebc0a31967ad3" IssueInstant="2015-03-26T21:07:09.779Z" Version="2.0" > <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">nssp.nsi-test.com</saml2:Issuer> <saml2:Subject> <saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" NameQualifier="nssp.nsi-test.com" >_70d797f41b27d1386a628201650edfd1</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml2:SubjectConfirmationData Address="10.252.121.96" InResponseTo="_31bbb997abb9aa383c42da4996b3ddef" NotOnOrAfter="2015-03-26T21:12:09.779Z" Recipient="https://nssp.nsi-test.com/cgi/samlauth" /> </saml2:SubjectConfirmation> </saml2:Subject> <saml2:Conditions NotBefore="2015-03-26T21:07:09.779Z" NotOnOrAfter="2015-03-26T21:12:09.779Z" > <saml2:AudienceRestriction> <saml2:Audience>nssp.nsi-test.com</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> <saml2:AuthnStatement AuthnInstant="2015-03-26T21:07:09.760Z" SessionIndex="_943ff49f15bb92511d233f1a85bab52a" > <saml2:SubjectLocality Address="10.252.121.96" /> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> </saml2:AuthnContext> </saml2:AuthnStatement> <saml2:AttributeStatement> <saml2:Attribute FriendlyName="streetAddress" Name="urn:oid:2.5.4.9" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" > <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string" >1.citrix</saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement> </saml2:Assertion> </saml2p:Response>