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 2015/02/13 18:11:25 UTC
svn commit: r1659609 -
/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java
Author: coheigea
Date: Fri Feb 13 17:11:25 2015
New Revision: 1659609
URL: http://svn.apache.org/r1659609
Log:
Fixing KeyInfo generation for PublicKeys
Modified:
webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java
Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java?rev=1659609&r1=1659608&r2=1659609&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/builder/SAML1ComponentBuilder.java Fri Feb 13 17:11:25 2015
@@ -65,6 +65,7 @@ import org.opensaml.saml.saml1.core.Subj
import org.opensaml.saml.saml1.core.SubjectLocality;
import org.opensaml.security.credential.BasicCredential;
import org.opensaml.security.x509.BasicX509Credential;
+import org.opensaml.xmlsec.keyinfo.impl.BasicKeyInfoGeneratorFactory;
import org.opensaml.xmlsec.keyinfo.impl.X509KeyInfoGeneratorFactory;
import org.opensaml.xmlsec.signature.KeyInfo;
import org.w3c.dom.Element;
@@ -215,31 +216,36 @@ public final class SAML1ComponentBuilder
return (KeyInfo)OpenSAMLUtil.fromDom(keyInfo.getElement());
} else {
// Set the certificate or public key
- BasicCredential keyInfoCredential = null;
if (keyInfo.getCertificate() != null) {
- keyInfoCredential = new BasicX509Credential(keyInfo.getCertificate());
- } else if (keyInfo.getPublicKey() != null) {
- keyInfoCredential = new BasicCredential(keyInfo.getPublicKey());
- }
-
- // Configure how to emit the certificate
- X509KeyInfoGeneratorFactory kiFactory = new X509KeyInfoGeneratorFactory();
- KeyInfoBean.CERT_IDENTIFIER certIdentifier = keyInfo.getCertIdentifer();
- switch (certIdentifier) {
- case X509_CERT: {
- kiFactory.setEmitEntityCertificate(true);
- break;
- }
- case KEY_VALUE: {
- kiFactory.setEmitPublicKeyValue(true);
- break;
- }
- case X509_ISSUER_SERIAL: {
- kiFactory.setEmitX509IssuerSerial(true);
+ BasicCredential keyInfoCredential = new BasicX509Credential(keyInfo.getCertificate());
+
+ // Configure how to emit the certificate
+ X509KeyInfoGeneratorFactory kiFactory = new X509KeyInfoGeneratorFactory();
+ KeyInfoBean.CERT_IDENTIFIER certIdentifier = keyInfo.getCertIdentifer();
+ switch (certIdentifier) {
+ case X509_CERT: {
+ kiFactory.setEmitEntityCertificate(true);
+ break;
+ }
+ case KEY_VALUE: {
+ kiFactory.setEmitPublicKeyValue(true);
+ break;
+ }
+ case X509_ISSUER_SERIAL: {
+ kiFactory.setEmitX509IssuerSerial(true);
+ }
}
+ return kiFactory.newInstance().generate(keyInfoCredential);
+
+ } else if (keyInfo.getPublicKey() != null) {
+ BasicCredential keyInfoCredential = new BasicCredential(keyInfo.getPublicKey());
+ BasicKeyInfoGeneratorFactory kiFactory = new BasicKeyInfoGeneratorFactory();
+ kiFactory.setEmitPublicKeyValue(true);
+ return kiFactory.newInstance().generate(keyInfoCredential);
}
- return kiFactory.newInstance().generate(keyInfoCredential);
}
+
+ return null;
}
/**