/** * Create a wsse:Reference element with the given URI and the value type * * @param doc * @param refUri * @param refValueType * @return Element */ public static Element createSecurityTokenReference(Document doc, String refUri, String refValueType) { Reference ref = new Reference(doc); ref.setURI(refUri); if (refValueType != null) { ref.setValueType(refValueType); } SecurityTokenReference str = new SecurityTokenReference(doc); str.setReference(ref); return str.getElement(); }
ref.setValueType(customValueType); ref.setValueType(customValueType); } else if (WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customValueType)) { secRef.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE); } else if (WSConstants.WSS_ENC_KEY_VALUE_TYPE.equals(customValueType)) { secRef.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE); ref.setValueType(customValueType); } else if (KerberosSecurity.isKerberosToken(customValueType)) { secRef.addTokenType(customValueType); ref.setValueType(customValueType); } else if (WSConstants.WSC_SCT.equals(customValueType) || WSConstants.WSC_SCT_05_12.equals(customValueType)) { ref.setValueType(customValueType); } else if (!WSConstants.WSS_USERNAME_TOKEN_VALUE_TYPE.equals(customValueType)) { secRef.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE);
((X509Security) bstToken).setX509Certificate(remoteCert); bstToken.setID(certUri); ref.setValueType(bstToken.getValueType()); secToken.setReference(ref); break; if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); refCust.setValueType(customEKTokenValueType); } else if (WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE); } else if (WSConstants.WSS_ENC_KEY_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE); refCust.setValueType(customEKTokenValueType); } else { refCust.setValueType(customEKTokenValueType); if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); refCustd.setValueType(customEKTokenValueType); } else if (WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE); } else if (WSConstants.WSS_ENC_KEY_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE); refCustd.setValueType(customEKTokenValueType); } else { refCustd.setValueType(customEKTokenValueType);
ref.setValueType(customValueType); ref.setValueType(customValueType); } else if (WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customValueType)) { secRef.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE); } else if (WSConstants.WSS_ENC_KEY_VALUE_TYPE.equals(customValueType)) { secRef.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE); ref.setValueType(customValueType); } else if (KerberosSecurity.isKerberosToken(customValueType)) { secRef.addTokenType(customValueType); ref.setValueType(customValueType); } else if (WSConstants.WSC_SCT.equals(customValueType) || WSConstants.WSC_SCT_05_12.equals(customValueType)) { ref.setValueType(customValueType); } else if (!WSConstants.WSS_USERNAME_TOKEN_VALUE_TYPE.equals(customValueType)) { secRef.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE);
((X509Security) bstToken).setX509Certificate(remoteCert); bstToken.setID(certUri); ref.setValueType(bstToken.getValueType()); secToken.setReference(ref); break; if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); refCust.setValueType(customEKTokenValueType); } else if (WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE); } else if (WSConstants.WSS_ENC_KEY_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE); refCust.setValueType(customEKTokenValueType); } else { refCust.setValueType(customEKTokenValueType); if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); refCustd.setValueType(customEKTokenValueType); } else if (WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE); } else if (WSConstants.WSS_ENC_KEY_VALUE_TYPE.equals(customEKTokenValueType)) { secToken.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE); refCustd.setValueType(customEKTokenValueType); } else { refCustd.setValueType(customEKTokenValueType);
/** * Create a KeyInfo object * @throws ConversationException */ private KeyInfo createKeyInfo() throws WSSecurityException, ConversationException { KeyInfo keyInfo = new KeyInfo(document); SecurityTokenReference secToken = new SecurityTokenReference(document); secToken.addWSSENamespace(); Reference ref = new Reference(document); ref.setURI("#" + dktId); String ns = ConversationConstants.getWSCNs(getWscVersion()) + ConversationConstants.TOKEN_TYPE_DERIVED_KEY_TOKEN; ref.setValueType(ns); secToken.setReference(ref); keyInfo.addUnknownElement(secToken.getElement()); Element keyInfoElement = keyInfo.getElement(); keyInfoElement.setAttributeNS( WSConstants.XMLNS_NS, "xmlns:" + WSConstants.SIG_PREFIX, WSConstants.SIG_NS ); return keyInfo; }
/** * Create a KeyInfo object * @throws ConversationException */ private KeyInfo createKeyInfo() throws WSSecurityException, ConversationException { KeyInfo keyInfo = new KeyInfo(document); SecurityTokenReference secToken = new SecurityTokenReference(document); secToken.addWSSENamespace(); Reference ref = new Reference(document); ref.setURI("#" + dktId); String ns = ConversationConstants.getWSCNs(getWscVersion()) + ConversationConstants.TOKEN_TYPE_DERIVED_KEY_TOKEN; ref.setValueType(ns); secToken.setReference(ref); keyInfo.addUnknownElement(secToken.getElement()); Element keyInfoElement = keyInfo.getElement(); keyInfoElement.setAttributeNS( WSConstants.XMLNS_NS, "xmlns:" + WSConstants.SIG_PREFIX, WSConstants.SIG_NS ); return keyInfo; }
ref.setValueType(bstToken.getValueType()); secRef.setReference(ref); bstToken.setID(certUri); if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); refCust.setValueType(customTokenValueType); } else if (WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE); } else if (WSConstants.WSS_ENC_KEY_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE); refCust.setValueType(customTokenValueType); } else if (KerberosSecurity.isKerberosToken(customTokenValueType)) { secRef.addTokenType(customTokenValueType); refCust.setValueType(customTokenValueType); } else { refCust.setValueType(customTokenValueType); if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); refCustd.setValueType(customTokenValueType); } else if (WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE); } else if (WSConstants.WSS_ENC_KEY_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE); refCustd.setValueType(customTokenValueType); } else if (KerberosSecurity.isKerberosToken(customTokenValueType)) { secRef.addTokenType(customTokenValueType); refCustd.setValueType(customTokenValueType);
ref.setValueType(bstToken.getValueType()); secRef.setReference(ref); bstToken.setID(certUri); if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); refCust.setValueType(customTokenValueType); } else if (WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE); } else if (WSConstants.WSS_ENC_KEY_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE); refCust.setValueType(customTokenValueType); } else if (KerberosSecurity.isKerberosToken(customTokenValueType)) { secRef.addTokenType(customTokenValueType); refCust.setValueType(customTokenValueType); } else { refCust.setValueType(customTokenValueType); if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); refCustd.setValueType(customTokenValueType); } else if (WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_SAML2_TOKEN_TYPE); } else if (WSConstants.WSS_ENC_KEY_VALUE_TYPE.equals(customTokenValueType)) { secRef.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE); refCustd.setValueType(customTokenValueType); } else if (KerberosSecurity.isKerberosToken(customTokenValueType)) { secRef.addTokenType(customTokenValueType); refCustd.setValueType(customTokenValueType);
ConversationConstants.getWSCNs(getWscVersion()) + ConversationConstants.TOKEN_TYPE_DERIVED_KEY_TOKEN; ref.setValueType(ns); secRef.setReference(ref);
ConversationConstants.getWSCNs(getWscVersion()) + ConversationConstants.TOKEN_TYPE_DERIVED_KEY_TOKEN; ref.setValueType(ns); secRef.setReference(ref);
ref.setURI("#" + assertion.getId()); if (assertion.getSaml1() != null) { ref.setValueType(WSConstants.WSS_SAML_KI_VALUE_TYPE); secRefSaml.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); } else if (assertion.getSaml2() != null) { bstToken.setID(certUri); wsDocInfo.addTokenElement(bstToken.getElement(), false); ref.setValueType(bstToken.getValueType()); secRef.setReference(ref); break; ref.setURI("#" + assertion.getId()); if (assertion.getSaml1() != null) { ref.setValueType(WSConstants.WSS_SAML_KI_VALUE_TYPE); secRef.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); } else if (assertion.getSaml2() != null) {
ref.setValueType(customReferenceValue);
ref.setValueType(customReferenceValue);
ref.setURI("#" + assertion.getId()); if (assertion.getSaml1() != null) { ref.setValueType(WSConstants.WSS_SAML_KI_VALUE_TYPE); secRefSaml.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); } else if (assertion.getSaml2() != null) { bstToken.setID(certUri); wsDocInfo.addTokenElement(bstToken.getElement(), false); ref.setValueType(bstToken.getValueType()); secRef.setReference(ref); break; ref.setURI("#" + assertion.getId()); if (assertion.getSaml1() != null) { ref.setValueType(WSConstants.WSS_SAML_KI_VALUE_TYPE); secRef.addTokenType(WSConstants.WSS_SAML_TOKEN_TYPE); } else if (assertion.getSaml2() != null) {