Hi all, I'm having some issues with security configuration and I need some clarifications because I'm just learning and I've been for a while with it. If anybody could help me it would be great.
I'm using policy at my service, trying to force the client to send SKI certificate reference so I have <sp:RequireKeyIdentifierReference/> assertion in both Initiator Token and RecipientToken and <sp:MustSupportRefKeyIdentifier/>. In the client, I'm sending IssuerSerial references but in the service policy I haven't got MustSupportIssuerSerialReference, so I think the service should reject the request but it doesn't. Am I right? Also, I expected that the service should send SKI reference always, but, for the encryption key it sends IssuerSerial reference. Can I force it to use always SKI reference? In the client, I'm signing Timestamp and Body, but in the message I can only see Timestamp signature. Where is Body signature? Does rampart sign only one of them? The last problem is that when I replace signedParts by signedElements assertion, I can access the service but the WSDL is not generated (when useOriginalwsdl is false) because it throws an exception: com.ctc.wstx.exc.WstxParsingException: Undeclared namespace prefix "sp" at [row,col {unknown-source}]: [1,1040] I'm sending configurations and messages generated below. Can anybody point me in the right direction? Thanks in advance, Jorge Fernández public static OutflowConfiguration getOutflowConfiguration(){ OutflowConfiguration ofc = new OutflowConfiguration(); ofc.setActionItems("Timestamp Signature Encrypt"); ofc.setUser("client1"); ofc.setPasswordCallbackClass("client.PWCBHandler"); ofc.setSignaturePropFile("client1.properties"); ofc.setSignatureKeyIdentifier(WSSHandlerConstants.ISSUER_SERIAL); ofc.setEncryptionKeyIdentifier(WSSHandlerConstants.ISSUER_SERIAL); ofc.setEncryptionUser("medici-link"); ofc.setSignatureParts("{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp;"); ofc.setSignBody(); ofc.setEncryptBody(); return ofc; } POST /axis2/services/Medici_Link HTTP/1.1 Content-Type: application/soap+xml; charset=UTF-8; action="urn:validateSystem" User-Agent: Axis2 Host: 127.0.0.1:8082 Transfer-Encoding: chunked e38 <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="true"> <xenc:EncryptedKey Id="EncKeyId-3916915"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" /> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <wsse:SecurityTokenReference> <ds:X509Data> <ds:X509IssuerSerial> <ds:X509IssuerName>CN=CA,OU=X1,O=X2,L=Santiago,ST=Coruna,C=ES</ds:X509IssuerName> <ds:X509SerialNumber>14</ds:X509SerialNumber> </ds:X509IssuerSerial> </ds:X509Data> </wsse:SecurityTokenReference> </ds:KeyInfo> <xenc:CipherData> <xenc:CipherValue>dr/IpAm4eczqbtJBxypHAPWwtDLdU6AveSBEvKLqWkxj770t8XTm5GrZsvgALxINEVU5lZL/v9QxDGu9I6CTH5JxkmBzWDtVmDWxD4hAkfjHtBiwfhUm227OlENApZqNCi9/zbQqvirl9e0IH65zm18IO0/LLGc/mDhH3Hu5YR8=</xenc:CipherValue> </xenc:CipherData> <xenc:ReferenceList> <xenc:DataReference URI="#EncDataId-29056009" /> </xenc:ReferenceList> </xenc:EncryptedKey> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-33431531"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> <ds:Reference URI="#Timestamp-15293014"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <ds:DigestValue>KHfeVCmFYGNhDXhFYAssmRV7DPo=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>Q1x8bI4520lAzba8m2c6aUP1f+dwApAjGWVAonkFwb//JdZa7pURoQP5fS1sjONegdx6Yc9oQiki3yuP7RJ8ieHbWt44Im5M9w5e0pba+nDR0xAm0OB+01ndy6NZ3v9dJ4puhk6Mew93VQTXPmBDaVd2Y3pmZ3/Tqt2mPtdjO4A=</ds:SignatureValue> <ds:KeyInfo Id="KeyId-17905186"> <wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-22566565"> <ds:X509Data> <ds:X509IssuerSerial> <ds:X509IssuerName>CN=CA,OU=X1,O=X2,L=Santiago,ST=Coruna,C=ES</ds:X509IssuerName> <ds:X509SerialNumber>12</ds:X509SerialNumber> </ds:X509IssuerSerial> </ds:X509Data> </wsse:SecurityTokenReference> </ds:KeyInfo> </ds:Signature> <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-15293014"> <wsu:Created>2007-08-01T14:28:33.796Z</wsu:Created> <wsu:Expires>2007-08-01T14:33:33.796Z</wsu:Expires> </wsu:Timestamp> </wsse:Security> <wsa:To>http://localhost:8082/axis2/services/Medici_Link</wsa:To> <wsa:MessageID>urn:uuid:523839FBFE69D5BF4B1185978513264</wsa:MessageID> <wsa:Action>urn:validateSystem</wsa:Action> </soapenv:Header> <soapenv:Body> <xenc:EncryptedData Id="EncDataId-29056009" Type="http://www.w3.org/2001/04/xmlenc#Content"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc" /> <xenc:CipherData> <xenc:CipherValue>YhZlOStquqla9TfR/E0PU8HRCJA+WZk/EXWyVgJ+IlxEbxEyUs7S+lUm6cGtd3eTBF8R6YyYdjkF6yxSBcYNKl+NzUWjHY/4R50DFkS5/haY6JgCnP3whgKz1Z8+GpuoeiPj0qzpBjZ/TDPgVnppQxwYJwCbopqNou66WLalx3ToMrOd7vVTgc/WGUf26hrClAzDOJUpKc5t5ipAc6T+iJ8P1l6/Vy/DCsSDTbQrK6xtsGtYUBCqXqWtnbPnLsDC8CmK8wQd2r1ZZfgB65rr+12KDNlJk7XxStzdUmnZF4wRp9A8dbs3KsOmdCX/Qjt4WYG80SetalcdlsPmMefgJd8RrD7pyrtAFJMj/ky7pUX3VQBnMuvw7NdnatBdUDB5uZ+jpGEzStE+4avpmbjVZ4CwNdoU/Sk8I7POyf7+++0un/N6H66P+kUoPnndQXxI</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </soapenv:Body> </soapenv:Envelope>0 <wsp:Policy wsu:Id="medici-link-policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <wsp:ExactlyOne> <wsp:All> <sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsp:Policy> <sp:InitiatorToken> <wsp:Policy> <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"> <wsp:Policy> <sp:RequireKeyIdentifierReference/> </wsp:Policy> </sp:X509Token> </wsp:Policy> </sp:InitiatorToken> <sp:RecipientToken> <wsp:Policy> <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"> <wsp:Policy> <sp:RequireKeyIdentifierReference/> </wsp:Policy> </sp:X509Token> </wsp:Policy> </sp:RecipientToken> <sp:AlgorithmSuite> <wsp:Policy> <sp:TripleDesRsa15/> </wsp:Policy> </sp:AlgorithmSuite> <sp:IncludeTimestamp/> </wsp:Policy> </sp:AsymmetricBinding> <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsp:Policy> <sp:MustSupportRefKeyIdentifier/> </wsp:Policy> </sp:Wss11> <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <sp:Body/> </sp:SignedParts> <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <sp:Body/> </sp:EncryptedParts> <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> <ramp:user>medici-link</ramp:user> <ramp:encryptionUser>useReqSigCert</ramp:encryptionUser> <ramp:passwordCallbackClass>medici_link.service.PWCBHandler</ramp:passwordCallbackClass> <ramp:signatureCrypto> <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin"> <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property> <ramp:property name="org.apache.ws.security.crypto.merlin.file">medici-link.jks</ramp:property> <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache</ramp:property> </ramp:crypto> </ramp:signatureCrypto> <ramp:encryptionCypto> <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin"> <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type">JKS</ramp:property> <ramp:property name="org.apache.ws.security.crypto.merlin.file">medici-link.jks</ramp:property> <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache</ramp:property> </ramp:crypto> </ramp:encryptionCypto> </ramp:RampartConfig> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: application/soap+xml; action="urn:validateSystem";charset=UTF-8 Transfer-Encoding: chunked Date: Wed, 01 Aug 2007 14:28:40 GMT 11b5 <?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="true"> <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-27859243"> <wsu:Created>2007-08-01T14:28:40.093Z</wsu:Created> <wsu:Expires>2007-08-01T14:33:40.093Z</wsu:Expires> </wsu:Timestamp> <xenc:EncryptedKey Id="EncKeyId-11702064"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" /> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <wsse:SecurityTokenReference> <ds:X509Data> <ds:X509IssuerSerial> <ds:X509IssuerName>CN=CA,OU=X1,O=X2,L=Santiago,ST=Coruna,C=ES</ds:X509IssuerName> <ds:X509SerialNumber>12</ds:X509SerialNumber> </ds:X509IssuerSerial> </ds:X509Data> </wsse:SecurityTokenReference> </ds:KeyInfo> <xenc:CipherData> <xenc:CipherValue>Tvs2CbLiLz7GYXWJDL/infWAL5LnogIV4BJBBU/8hY7qP+NOEa9UYjDG44/qrvqzpfichGeMT2Iw/strhTsBO7Bghqf7vIUo05nu5ABNHba0NMR5WUn0bfuHvA/Ha0UmnobSTQjAHrkzKG+syVaplXOW/LfTitOpwIZpm2qpCoI=</xenc:CipherValue> </xenc:CipherData> <xenc:ReferenceList> <xenc:DataReference URI="#EncDataId-11755554" /> </xenc:ReferenceList> </xenc:EncryptedKey> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-32885718"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> <ds:Reference URI="#Id-11755554"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <ds:DigestValue>+y2+OfUJL3d0Mw42EbKMvdIInL8=</ds:DigestValue> </ds:Reference> <ds:Reference URI="#Timestamp-27859243"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <ds:DigestValue>f0oJfTZttlBvWt14AaJwlJZ59sQ=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>SolCHPlgaSTGsU4YBtAYFttFNsBZcXmrlyv1+6i/h+ZROCgpCII8ADVvkWkl+/H/gnYgwlFV7q9UIZon8BdKU2uIqr1MtO9+PvX3wMFJ9/j2bhsMpiedB43TjVf1S4+aBuq84CjpRRAx772bVKAJj1GdIuvQ949aH8qORtiEHGY=</ds:SignatureValue> <ds:KeyInfo Id="KeyId-13889929"> <wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-9869406"> <wsse:KeyIdentifier EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1">y04CDWZeR2reLTliC8uk7coJw1k=</wsse:KeyIdentifier> </wsse:SecurityTokenReference> </ds:KeyInfo> </ds:Signature> </wsse:Security> <wsa:ReplyTo> <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address> <wsa:ReferenceParameters> <axis2:ServiceGroupId xmlns:axis2="http://ws.apache.org/namespaces/axis2">urn:uuid:98F28CD7CAF64DA9A81185978519823</axis2:ServiceGroupId> </wsa:ReferenceParameters> </wsa:ReplyTo> <wsa:MessageID>urn:uuid:98F28CD7CAF64DA9A81185978519839</wsa:MessageID> <wsa:Action>urn:validateSystem</wsa:Action> <wsa:RelatesTo>urn:uuid:523839FBFE69D5BF4B1185978513264</wsa:RelatesTo> </soapenv:Header> <soapenv:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Id-11755554"> <xenc:EncryptedData Id="EncDataId-11755554" Type="http://www.w3.org/2001/04/xmlenc#Content"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" /> <xenc:CipherData> <xenc:CipherValue>AQikCau4Nj4f4bH3U9mDUjf0c8FhzqoZNnxS61YXuCZVS/NTHHFz/DdR5tYQ4l89mdSegQTllIf4/T1Jdd2rWVql7NedolFei8ibVKrDu0TkNSCD406xQU1ep/j/4U2ZP/pwQ9dDnkQdiG6OiDduviS6kue1yr4VZJbjr4ihMGsAVXmf87sXZfi755fv8pbmQGoOomNnb4qoAdv8M95UcQdsmZx0Vd4RRdeyPGSjLusFUnVSeM7OqE5HT3VMBKUqAmTVj/bkYYKddad6QRe5vt9jZ/Ywkbr9104v5+3nGIiWlk41 yTElrC+FaY92xQ6heGzszim+X/EyE7ulxJTS+tPtARUq3L5wd429MgsSoxt4Qw1mFnK9YRTnBUlV NJx8SV5JvhCs3DxQy5B7j11fVdxcVUTOBva9i0x+OCuxqMeALsJb/r+Yy/Ou2hIX/NGLQcP9mWIW NxyVo8+Qn+H9rIts2nquCjkvi08CzM2dTxngz0DAosQn4IROouXyqXbrkaAZoLglNrfWxqHobMJF BVtszlh96FiBAkjSIyOPd3KGVKEBrT4bSRXlH/jW8z8t</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </soapenv:Body> </soapenv:Envelope> 0 --------------------------------- Sé un Mejor Amante del Cine ¿Quieres saber cómo? ¡Deja que otras personas te ayuden!.