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/02/08 14:25:10 UTC
svn commit: r619872 -
/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java
Author: nandana
Date: Fri Feb 8 05:25:08 2008
New Revision: 619872
URL: http://svn.apache.org/viewvc?rev=619872&view=rev
Log:
adding encrypted supporting token support
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java
Modified: webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java?rev=619872&r1=619871&r2=619872&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/SymmetricBindingBuilder.java Fri Feb 8 05:25:08 2008
@@ -235,7 +235,7 @@
}
}
- RampartUtil.appendChildToSecHeader(rmd, refList);
+ this.mainRefListElement = RampartUtil.appendChildToSecHeader(rmd, refList);
if(dotDebug){
t1 = System.currentTimeMillis();
@@ -246,13 +246,16 @@
this.setInsertionLocation(encrTokenElement);
} else if (timestampElement != null) {
this.setInsertionLocation(timestampElement);
- }
+ }
RampartUtil.handleEncryptedSignedHeaders(encrParts, sigParts, doc);
-
+
HashMap sigSuppTokMap = null;
HashMap endSuppTokMap = null;
HashMap sgndEndSuppTokMap = null;
+ HashMap sgndEncSuppTokMap = null;
+ HashMap endEncSuppTokMap = null;
+ HashMap sgndEndEncSuppTokMap = null;
if(this.timestampElement != null){
@@ -262,25 +265,37 @@
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();
+ 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);
+ 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);
}
@@ -294,12 +309,15 @@
}
if(rmd.isInitiator()) {
+
+ endSuppTokMap.putAll(endEncSuppTokMap);
//Do endorsed signatures
Vector endSigVals = this.doEndorsedSignatures(rmd, endSuppTokMap);
for (Iterator iter = endSigVals.iterator(); iter.hasNext();) {
signatureValues.add(iter.next());
}
+ sgndEndSuppTokMap.putAll(sgndEndEncSuppTokMap);
//Do signed endorsing signatures
Vector sigEndSigVals = this.doEndorsedSignatures(rmd, sgndEndSuppTokMap);
for (Iterator iter = sigEndSigVals.iterator(); iter.hasNext();) {
@@ -315,7 +333,7 @@
//Check for signature protection and encryption of UsernameToken
if(rpd.isSignatureProtection() && this.mainSigId != null ||
- usernameTokenIdList.size() > 0 && rmd.isInitiator()) {
+ encryptedTokensIdList.size() > 0 && rmd.isInitiator()) {
long t3 = 0, t4 = 0;
if(dotDebug){
t3 = System.currentTimeMillis();
@@ -329,8 +347,8 @@
}
if(rmd.isInitiator()) {
- for (int i = 0 ; i < usernameTokenIdList.size(); i++) {
- encrParts.add(new WSEncryptionPart((String)usernameTokenIdList.get(i),"Element"));
+ for (int i = 0 ; i < encryptedTokensIdList.size(); i++) {
+ encrParts.add(new WSEncryptionPart((String)encryptedTokensIdList.get(i),"Element"));
}
}
@@ -434,6 +452,10 @@
HashMap sigSuppTokMap = null;
HashMap endSuppTokMap = null;
HashMap sgndEndSuppTokMap = null;
+ HashMap sgndEncSuppTokMap = null;
+ HashMap endEncSuppTokMap = null;
+ HashMap sgndEndEncSuppTokMap = null;
+
Vector sigParts = RampartUtil.getSignedParts(rmd);
if(this.timestampElement != null){
@@ -444,23 +466,35 @@
if(rmd.isInitiator()) {
// 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();
+ 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);
+
+ 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);
}
@@ -474,12 +508,17 @@
}
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);
+
for (Iterator iter = endSigVals.iterator(); iter.hasNext();) {
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);
for (Iterator iter = sigEndSigVals.iterator(); iter.hasNext();) {
@@ -523,8 +562,8 @@
}
if(rmd.isInitiator()) {
- for (int i = 0 ; i < usernameTokenIdList.size(); i++) {
- encrParts.add(new WSEncryptionPart((String)usernameTokenIdList.get(i),"Element"));
+ for (int i = 0 ; i < encryptedTokensIdList.size(); i++) {
+ encrParts.add(new WSEncryptionPart((String)encryptedTokensIdList.get(i),"Element"));
}
}