Author: dkulp
Date: Wed Mar 4 20:29:30 2009
New Revision: 750142
URL: http://svn.apache.org/viewvc?rev=750142&view=rev
Log:
Add a comment about the new token ID
Add ability to explicitely set which X509 cert to use
Modified:
webservices/wss4j/trunk/src/org/apache/ws/security/WSConstants.java
webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecSignature.java
Modified: webservices/wss4j/trunk/src/org/apache/ws/security/WSConstants.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/org/apache/ws/security/WSConstants.java?rev=750142&r1=750141&r2=750142&view=diff
==============================================================================
--- webservices/wss4j/trunk/src/org/apache/ws/security/WSConstants.java
(original)
+++ webservices/wss4j/trunk/src/org/apache/ws/security/WSConstants.java Wed Mar
4 20:29:30 2009
@@ -394,6 +394,12 @@
*/
public static final int CUSTOM_SYMM_SIGNING_DIRECT = 11;
+ /**
+ * <code>CUSTOM_KEY_IDENTIFIER</code> is used to set a KeyIdentifier to
+ * a particular ID
+ *
+ * The reference id and value type are set externally.
+ */
public static final int CUSTOM_KEY_IDENTIFIER = 12;
/**
Modified:
webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecSignature.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecSignature.java?rev=750142&r1=750141&r2=750142&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecSignature.java
(original)
+++
webservices/wss4j/trunk/src/org/apache/ws/security/message/WSSecSignature.java
Wed Mar 4 20:29:30 2009
@@ -119,6 +119,7 @@
private String digestAlgo = "http://www.w3.org/2000/09/xmldsig#sha1";
+ private X509Certificate useThisCert = null;
/**
* Constructor.
*/
@@ -301,7 +302,11 @@
&& keyIdentifierType != WSConstants.CUSTOM_SYMM_SIGNING_DIRECT
&& keyIdentifierType != WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER
&& keyIdentifierType != WSConstants.CUSTOM_KEY_IDENTIFIER) {
- certs = crypto.getCertificates(user);
+ if (useThisCert == null) {
+ certs = crypto.getCertificates(user);
+ } else {
+ certs = new X509Certificate[] {useThisCert};
+ }
if (certs == null || certs.length <= 0) {
throw new WSSecurityException(
WSSecurityException.FAILURE,
@@ -693,7 +698,11 @@
keyIdentifierType ==
WSConstants.CUSTOM_SYMM_SIGNING_DIRECT ||
keyIdentifierType == WSConstants.CUSTOM_KEY_IDENTIFIER ||
keyIdentifierType ==
WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER) {
- sig.sign(sig.createSecretKey(secretKey));
+ if (secretKey == null) {
+ sig.sign(crypto.getPrivateKey(user, password));
+ } else {
+ sig.sign(sig.createSecretKey(secretKey));
+ }
} else {
sig.sign(crypto.getPrivateKey(user, password));
}
@@ -862,5 +871,8 @@
public void setEncrKeySha1value(String encrKeySha1value) {
this.encrKeySha1value = encrKeySha1value;
}
+ public void setX509Certificate(X509Certificate cer) {
+ this.useThisCert = cer;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]