public void execute(WSHandler handler, int actionToDo, Document doc, RequestData reqData) throws WSSecurityException { WSSecEncrypt wsEncrypt = new WSSecEncrypt(reqData.getWssConfig()); wsEncrypt.setKeyIdentifierType(reqData.getEncKeyId()); wsEncrypt.setEmbeddedKeyName(encKeyName); CallbackHandler callbackHandler = handler.getCallbackHandler( handler.getPasswordCB(reqData.getEncUser(), actionToDo, callbackHandler, reqData); byte[] embeddedKey = passwordCallback.getKey(); wsEncrypt.setKey(embeddedKey); wsEncrypt.setDocument(doc); wsEncrypt.setSymmetricEncAlgorithm(reqData.getEncSymmAlgo()); wsEncrypt.setKeyEnc(reqData.getEncKeyTransport()); wsEncrypt.setDigestAlgorithm(reqData.getEncDigestAlgorithm()); wsEncrypt.setUserInfo(reqData.getEncUser()); wsEncrypt.setUseThisCert(reqData.getEncCert()); Crypto crypto = reqData.getEncCrypto(); boolean enableRevocation = Boolean.valueOf(handler.getStringOption(WSHandlerConstants.ENABLE_REVOCATION)); wsEncrypt.setParts(reqData.getEncryptParts()); WSPasswordCallback passwordCallback = handler.getPasswordCB(reqData.getEncUser(), actionToDo, callbackHandler, reqData);
WSSecEncrypt encr = new WSSecEncrypt(); encr.setWsConfig(rmd.getConfig()); encr.setDocument(doc); RampartUtil.setEncryptionUser(rmd, encr, ((X509Token) encrToken).getEncryptionUser()); encr.setSymmetricEncAlgorithm(rpd.getAlgorithmSuite().getEncryption()); encr.setKeyEncAlgo(rpd.getAlgorithmSuite().getAsymmetricKeyWrap()); encr.prepare(doc, RampartUtil.getEncryptionCrypto(rpd.getRampartConfig(), rmd .getCustomClassLoader())); if (encr.getBSTTokenId() != null) { this.setInsertionLocation(RampartUtil.insertSiblingAfterOrPrepend(rmd, this .getInsertionLocation(), encr.getBinarySecurityTokenElement())); Element encryptedKeyElement = encr.getEncryptedKeyElement(); refList = encr.encryptForInternalRef(null, encrParts);
WSSecEncrypt encrBuilder = new WSSecEncrypt(); encrBuilder.setUserInfo(identities.get(SERVER_ALIAS).getKeyAlias()); encrBuilder.setKeyIdentifierType(WSConstants.X509_KEY_IDENTIFIER); encrBuilder.setSymmetricEncAlgorithm(WSConstants.AES_256); signedEncryptedDoc = encrBuilder.build(signedDoc, localKeyStoreHandler, secHeader); } catch (WSSecurityException e) { logger.log(Logger.LT_EXCEPTION, "Failed while encrypting signed requeest for , '" + merchantID + "'" + " with " + SERVER_ALIAS); throw new SignEncryptException("Failed while encrypting signed requeest for , '" + merchantID + "'" + " with " + SERVER_ALIAS, e); encrBuilder.prependToHeader(secHeader); return signedEncryptedDoc;
prepare(doc, crypto); Element refs = encryptForRef(null, parts); if (encryptedKeyElement != null) { addInternalRefElement(refs); prependToHeader(secHeader); } else { addExternalRefElement(refs, secHeader); prependBSTElementToHeader(secHeader);
encr = new WSSecEncrypt(); encr.setWsConfig(rmd.getConfig()); encr.setEncKeyId(tokenId); RampartUtil.setEncryptionUser(rmd, encr); encr.setEphemeralKey(tok.getSecret()); encr.setDocument(doc); encr.setSymmetricEncAlgorithm(algorithmSuite.getEncryption()); encr.setEncryptSymmKey(false); if (!rmd.isInitiator() && tok instanceof EncryptedKeyToken) { encr.setEncKeyIdDirectId(true); encr.setCustomReferenceValue(((EncryptedKeyToken)tok).getSHA1()); encr.setKeyIdentifierType(WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER); encr.prepare(doc, RampartUtil.getEncryptionCrypto(rpd .getRampartConfig(), rmd.getCustomClassLoader())); refList = encr.encryptForExternalRef(null, encrParts); } catch (WSSecurityException e) { throw new RampartException("errorInEncryption", e); try { secondRefList = encr.encryptForExternalRef(null, encrParts); RampartUtil.insertSiblingAfter(
encr = new WSSecEncrypt(); encr.setParts(encrParts); encr.setWsConfig(rmd.getConfig()); encr.setDocument(doc); RampartUtil.setEncryptionUser(rmd, encr); encr.setSymmetricEncAlgorithm(rpd.getAlgorithmSuite().getEncryption()); RampartUtil.setKeyIdentifierType(rmd, encr, encryptionToken); encr.setKeyEncAlgo(rpd.getAlgorithmSuite().getAsymmetricKeyWrap()); encr.prepare(doc, RampartUtil.getEncryptionCrypto(config, rmd.getCustomClassLoader())); Element bstElem = encr.getBinarySecurityTokenElement(); if (bstElem != null) { RampartUtil.appendChildToSecHeader(rmd, bstElem); this.encrTokenElement = encr.getEncryptedKeyElement(); this.encrTokenElement = RampartUtil.appendChildToSecHeader(rmd, encrTokenElement); refList = encr.encryptForExternalRef(null, encrParts); try { secondRefList = encr.encryptForExternalRef(null, secondEncrParts);
keyInfo.addUnknownElement(getEncryptedKeyElement()); } else if (keyIdentifierType == WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER) { SecurityTokenReference secToken = new SecurityTokenReference(document);
try { WSSecEncrypt encr = new WSSecEncrypt(); encr.setWsConfig(rmd.getConfig()); encrTokId = encrTokId.substring(1); encr.setEncKeyId(encrTokId); encr.setEphemeralKey(encrTok.getSecret()); RampartUtil.setEncryptionUser(rmd, encr); encr.setDocument(doc); encr.setEncryptSymmKey(false); encr.setSymmetricEncAlgorithm(rpd.getAlgorithmSuite().getEncryption()); encr.setEncKeyIdDirectId(true); encr.setCustomReferenceValue(((EncryptedKeyToken)encrTok).getSHA1()); encr.setKeyIdentifierType(WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER); encr.prepare(doc, RampartUtil.getEncryptionCrypto(rpd .getRampartConfig(), rmd.getCustomClassLoader())); refList = encr.encryptForExternalRef(null, encrParts);
prepare(doc, crypto); Element refs = encryptForRef(null, parts); if (encryptedKeyElement != null) { addInternalRefElement(refs); prependToHeader(secHeader); } else { addExternalRefElement(refs, secHeader); prependBSTElementToHeader(secHeader);
keyInfo.addUnknownElement(getEncryptedKeyElement()); } else if (keyIdentifierType == WSConstants.ENCRYPTED_KEY_SHA1_IDENTIFIER) { SecurityTokenReference secToken = new SecurityTokenReference(document);
public void execute(WSHandler handler, int actionToDo, Document doc, RequestData reqData) throws WSSecurityException { WSSecEncrypt wsEncrypt = new WSSecEncrypt(reqData.getWssConfig()); wsEncrypt.setKeyIdentifierType(reqData.getEncKeyId()); wsEncrypt.setEmbeddedKeyName(encKeyName); CallbackHandler callbackHandler = handler.getCallbackHandler( handler.getPasswordCB(reqData.getEncUser(), actionToDo, callbackHandler, reqData); byte[] embeddedKey = passwordCallback.getKey(); wsEncrypt.setKey(embeddedKey); wsEncrypt.setDocument(doc); wsEncrypt.setSymmetricEncAlgorithm(reqData.getEncSymmAlgo()); wsEncrypt.setKeyEnc(reqData.getEncKeyTransport()); wsEncrypt.setDigestAlgorithm(reqData.getEncDigestAlgorithm()); wsEncrypt.setUserInfo(reqData.getEncUser()); wsEncrypt.setUseThisCert(reqData.getEncCert()); Crypto crypto = reqData.getEncCrypto(); boolean enableRevocation = Boolean.valueOf(handler.getStringOption(WSHandlerConstants.ENABLE_REVOCATION)); wsEncrypt.setParts(reqData.getEncryptParts()); WSPasswordCallback passwordCallback = handler.getPasswordCB(reqData.getEncUser(), actionToDo, callbackHandler, reqData);
try { WSSecEncrypt encr = new WSSecEncrypt(); encr.setWsConfig(rmd.getConfig()); encr.setDocument(doc); RampartUtil.setEncryptionUser(rmd, encr); encr.setSymmetricEncAlgorithm(algorithmSuite.getEncryption()); encr.setKeyEncAlgo(algorithmSuite.getAsymmetricKeyWrap()); encr.prepare(doc, RampartUtil.getEncryptionCrypto(rpd .getRampartConfig(), rmd.getCustomClassLoader())); if(encr.getBSTTokenId() != null) { this.setInsertionLocation(RampartUtil .insertSiblingAfterOrPrepend(rmd, this.getInsertionLocation(), encr.getBinarySecurityTokenElement())); Element encryptedKeyElement = encr.getEncryptedKeyElement(); refList = encr.encryptForInternalRef(null, encrParts);