You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by na...@apache.org on 2008/03/17 08:05:04 UTC
svn commit: r637751 -
/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/AsymmetricBindingBuilder.java
Author: nandana
Date: Mon Mar 17 00:04:43 2008
New Revision: 637751
URL: http://svn.apache.org/viewvc?rev=637751&view=rev
Log:
Added Encrypted Supporting token processing
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/AsymmetricBindingBuilder.java
Modified: webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/AsymmetricBindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/AsymmetricBindingBuilder.java?rev=637751&r1=637750&r2=637751&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/AsymmetricBindingBuilder.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/AsymmetricBindingBuilder.java Mon Mar 17 00:04:43 2008
@@ -206,6 +206,9 @@
HashMap sigSuppTokMap = null;
HashMap endSuppTokMap = null;
HashMap sgndEndSuppTokMap = null;
+ HashMap sgndEncSuppTokMap = null;
+ HashMap endEncSuppTokMap = null;
+ HashMap sgndEndEncSuppTokMap = null;
if(this.timestampElement != null){
sigParts.add(new WSEncryptionPart(RampartUtil
@@ -215,30 +218,36 @@
if (rmd.isInitiator()) {
// Now add the supporting tokens
- SupportingToken sgndSuppTokens = rpd
- .getSignedSupportingTokens();
-
- sigSuppTokMap = this
- .handleSupportingTokens(rmd, sgndSuppTokens);
-
- SupportingToken endSuppTokens = rpd
- .getEndorsingSupportingTokens();
-
+ SupportingToken sgndSuppTokens = rpd.getSignedSupportingTokens();
+ sigSuppTokMap = this.handleSupportingTokens(rmd, sgndSuppTokens);
+
+ SupportingToken endSuppTokens = rpd.getEndorsingSupportingTokens();
endSuppTokMap = this.handleSupportingTokens(rmd, endSuppTokens);
-
- SupportingToken sgndEndSuppTokens = rpd
- .getSignedEndorsingSupportingTokens();
-
- sgndEndSuppTokMap = this.handleSupportingTokens(rmd,
- sgndEndSuppTokens);
+
+ SupportingToken sgndEndSuppTokens = rpd.getSignedEndorsingSupportingTokens();
+ sgndEndSuppTokMap = this.handleSupportingTokens(rmd, sgndEndSuppTokens);
+
+ SupportingToken sgndEncryptedSuppTokens = rpd.getSignedEncryptedSupportingTokens();
+ sgndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEncryptedSuppTokens);
+
+ SupportingToken endorsingEncryptedSuppTokens = rpd.getEndorsingEncryptedSupportingTokens();
+ endEncSuppTokMap = this.handleSupportingTokens(rmd, endorsingEncryptedSuppTokens);
+
+ SupportingToken sgndEndEncSuppTokens = rpd.getSignedEndorsingEncryptedSupportingTokens();
+ sgndEndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEndEncSuppTokens);
SupportingToken supportingToks = rpd.getSupportingTokens();
this.handleSupportingTokens(rmd, supportingToks);
-
- // Setup signature parts
+ SupportingToken encryptedSupportingToks = rpd.getEncryptedSupportingTokens();
+ this.handleSupportingTokens(rmd, encryptedSupportingToks);
+
+ //Setup signature parts
sigParts = addSignatureParts(sigSuppTokMap, sigParts);
+ sigParts = addSignatureParts(sgndEncSuppTokMap, sigParts);
sigParts = addSignatureParts(sgndEndSuppTokMap, sigParts);
+ sigParts = addSignatureParts(sgndEndEncSuppTokMap, sigParts);
+
} else {
addSignatureConfirmation(rmd, sigParts);
}
@@ -250,6 +259,8 @@
}
if (rmd.isInitiator()) {
+
+ endSuppTokMap.putAll(endEncSuppTokMap);
// Do endorsed signatures
Vector endSigVals = this.doEndorsedSignatures(rmd,
endSuppTokMap);
@@ -257,6 +268,7 @@
signatureValues.add(iter.next());
}
+ sgndEndSuppTokMap.putAll(sgndEndEncSuppTokMap);
// Do signed endorsing signatures
Vector sigEndSigVals = this.doEndorsedSignatures(rmd,
sgndEndSuppTokMap);
@@ -282,6 +294,12 @@
// Now encrypt the signature using the above token
secondEncrParts.add(new WSEncryptionPart(this.mainSigId,
"Element"));
+
+ if(rmd.isInitiator()) {
+ for (int i = 0 ; i < encryptedTokensIdList.size(); i++) {
+ secondEncrParts.add(new WSEncryptionPart((String)encryptedTokensIdList.get(i),"Element"));
+ }
+ }
Element secondRefList = null;
@@ -333,6 +351,10 @@
HashMap sigSuppTokMap = null;
HashMap endSuppTokMap = null;
HashMap sgndEndSuppTokMap = null;
+ HashMap sgndEncSuppTokMap = null;
+ HashMap endEncSuppTokMap = null;
+ HashMap sgndEndEncSuppTokMap = null;
+
sigParts = RampartUtil.getSignedParts(rmd);
//Add timestamp
@@ -348,27 +370,38 @@
}
if (rmd.isInitiator()) {
- // Now add the supporting tokens
+
+ // Now add the supporting tokens
SupportingToken sgndSuppTokens = rpd.getSignedSupportingTokens();
-
- sigSuppTokMap = this.handleSupportingTokens(rmd, sgndSuppTokens);
-
+ sigSuppTokMap = this.handleSupportingTokens(rmd, sgndSuppTokens);
+
SupportingToken endSuppTokens = rpd.getEndorsingSupportingTokens();
-
endSuppTokMap = this.handleSupportingTokens(rmd, endSuppTokens);
-
- SupportingToken sgndEndSuppTokens = rpd
- .getSignedEndorsingSupportingTokens();
-
- sgndEndSuppTokMap = this.handleSupportingTokens(rmd,
- sgndEndSuppTokens);
+
+ SupportingToken sgndEndSuppTokens = rpd.getSignedEndorsingSupportingTokens();
+ sgndEndSuppTokMap = this.handleSupportingTokens(rmd, sgndEndSuppTokens);
+
+ SupportingToken sgndEncryptedSuppTokens = rpd.getSignedEncryptedSupportingTokens();
+ sgndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEncryptedSuppTokens);
+
+ SupportingToken endorsingEncryptedSuppTokens = rpd.getEndorsingEncryptedSupportingTokens();
+ endEncSuppTokMap = this.handleSupportingTokens(rmd, endorsingEncryptedSuppTokens);
+
+ SupportingToken sgndEndEncSuppTokens = rpd.getSignedEndorsingEncryptedSupportingTokens();
+ sgndEndEncSuppTokMap = this.handleSupportingTokens(rmd, sgndEndEncSuppTokens);
SupportingToken supportingToks = rpd.getSupportingTokens();
this.handleSupportingTokens(rmd, supportingToks);
-
- // Setup signature parts
+
+ SupportingToken encryptedSupportingToks = rpd.getEncryptedSupportingTokens();
+ this.handleSupportingTokens(rmd, encryptedSupportingToks);
+
+ //Setup signature parts
sigParts = addSignatureParts(sigSuppTokMap, sigParts);
+ sigParts = addSignatureParts(sgndEncSuppTokMap, sigParts);
sigParts = addSignatureParts(sgndEndSuppTokMap, sigParts);
+ sigParts = addSignatureParts(sgndEndEncSuppTokMap, sigParts);
+
} else {
addSignatureConfirmation(rmd, sigParts);
}
@@ -383,6 +416,9 @@
//Do endorsed signature
if (rmd.isInitiator()) {
+
+ // Adding the endorsing encrypted supporting tokens to endorsing supporting tokens
+ endSuppTokMap.putAll(endEncSuppTokMap);
// Do endorsed signatures
Vector endSigVals = this.doEndorsedSignatures(rmd,
endSuppTokMap);
@@ -390,6 +426,8 @@
signatureValues.add(iter.next());
}
+ //Adding the signed endorsed encrypted tokens to signed endorsed supporting tokens
+ sgndEndSuppTokMap.putAll(sgndEndEncSuppTokMap);
// Do signed endorsing signatures
Vector sigEndSigVals = this.doEndorsedSignatures(rmd,
sgndEndSuppTokMap);
@@ -407,6 +445,12 @@
//Check for signature protection
if(rpd.isSignatureProtection() && this.mainSigId != null) {
encrParts.add(new WSEncryptionPart(RampartUtil.addWsuIdToElement((OMElement)this.signatureElement), "Element"));
+ }
+
+ if(rmd.isInitiator()) {
+ for (int i = 0 ; i < encryptedTokensIdList.size(); i++) {
+ encrParts.add(new WSEncryptionPart((String)encryptedTokensIdList.get(i),"Element"));
+ }
}
//Do encryption