You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2013/08/14 12:00:37 UTC

svn commit: r1513792 - /webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java

Author: coheigea
Date: Wed Aug 14 10:00:37 2013
New Revision: 1513792

URL: http://svn.apache.org/r1513792
Log:
[WSS-474] - Missing the 'EncodingType' attribute in element built by STRTransformUtil#createBSTX509
 - Thanks to Alessio Soldano.

Modified:
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java?rev=1513792&r1=1513791&r2=1513792&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java Wed Aug 14 10:00:37 2013
@@ -81,7 +81,7 @@ public final class STRTransformUtil {
             if (certs == null || certs.length == 0 || certs[0] == null) {
                 throw new WSSecurityException(WSSecurityException.ErrorCode.FAILED_CHECK);
             }
-            return createBSTX509(doc, certs[0], secRef.getElement());
+            return createBSTX509(doc, certs[0], secRef.getElement(), secRef.getKeyIdentifierEncodingType());
         }
         //
         // third case: KeyIdentifier. For SKI, lookup in keystore, wrap in
@@ -108,6 +108,12 @@ public final class STRTransformUtil {
     
     public static Element createBSTX509(Document doc, X509Certificate cert, Element secRefE) 
         throws WSSecurityException {
+        return createBSTX509(doc, cert, secRefE, null);
+    }
+    
+    public static Element createBSTX509(Document doc, X509Certificate cert, Element secRefE, 
+                                        String secRefEncType) 
+        throws WSSecurityException {
         byte data[];
         try {
             data = cert.getEncoded();
@@ -124,6 +130,9 @@ public final class STRTransformUtil {
         WSSecurityUtil.setNamespace(elem, WSConstants.WSSE_NS, prefix);
         // elem.setAttributeNS(WSConstants.XMLNS_NS, "xmlns", "");
         elem.setAttributeNS(null, "ValueType", X509Security.X509_V3_TYPE);
+        if (secRefEncType != null) {
+            elem.setAttributeNS(null, "EncodingType", secRefEncType);
+        }
         Text certText = doc.createTextNode(Base64.encode(data)); // no line wrap
         elem.appendChild(certText);
         return elem;