Author: coheigea
Date: Fri May 24 11:47:33 2013
New Revision: 1486022

URL: http://svn.apache.org/r1486022
Log:
Get SAML HolderOfKey working with PublicKeys

Modified:
    
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SAMLTokenOutputProcessor.java

Modified: 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SAMLTokenOutputProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SAMLTokenOutputProcessor.java?rev=1486022&r1=1486021&r2=1486022&view=diff
==============================================================================
--- 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SAMLTokenOutputProcessor.java
 (original)
+++ 
webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/SAMLTokenOutputProcessor.java
 Fri May 24 11:47:33 2013
@@ -20,6 +20,7 @@ package org.apache.wss4j.stax.impl.proce
 
 import java.security.Key;
 import java.security.PrivateKey;
+import java.security.PublicKey;
 import java.security.cert.X509Certificate;
 import java.util.ArrayList;
 import java.util.List;
@@ -179,6 +180,12 @@ public class SAMLTokenOutputProcessor ex
                                     
getSignatureCrypto().getX509Certificates(cryptoType));
                             samlKeyInfo.setPrivateKey(((WSSSecurityProperties) 
getSecurityProperties()).
                                     getSignatureCrypto().getPrivateKey(alias, 
wsPasswordCallback.getPassword()));
+                        } else if (keyInfoBean.getPublicKey() != null) {
+                            PublicKey publicKey = keyInfoBean.getPublicKey();
+                            samlKeyInfo.setPublicKey(publicKey);
+                            samlKeyInfo.setPrivateKey(((WSSSecurityProperties) 
getSecurityProperties()).
+                                    getSignatureCrypto().getPrivateKey(
+                                            samlCallback.getIssuerKeyName(), 
samlCallback.getIssuerKeyPassword()));
                         } else {
                             
samlKeyInfo.setSecret(keyInfoBean.getEphemeralKey());
                         }


Reply via email to