/** * Method that handles {@code DecryptionKeyCallback}s. Called from {@code handleInternal()}. Default * implementation delegates to specific handling methods. * * @see #handlePrivateKeyRequest(com.sun.xml.wss.impl.callback.DecryptionKeyCallback, * com.sun.xml.wss.impl.callback.DecryptionKeyCallback.PrivateKeyRequest) * @see #handleSymmetricKeyRequest(com.sun.xml.wss.impl.callback.DecryptionKeyCallback, * com.sun.xml.wss.impl.callback.DecryptionKeyCallback.SymmetricKeyRequest) */ protected final void handleDecryptionKeyCallback(DecryptionKeyCallback callback) throws IOException, UnsupportedCallbackException { if (callback.getRequest() instanceof DecryptionKeyCallback.PrivateKeyRequest) { handlePrivateKeyRequest(callback, (DecryptionKeyCallback.PrivateKeyRequest) callback.getRequest()); } else if (callback.getRequest() instanceof DecryptionKeyCallback.SymmetricKeyRequest) { handleSymmetricKeyRequest(callback, (DecryptionKeyCallback.SymmetricKeyRequest) callback.getRequest()); } else { throw new UnsupportedCallbackException(callback); } }
/** * Method that handles {@code DecryptionKeyCallback}s. Called from {@code handleInternal()}. Default * implementation delegates to specific handling methods. * * @see #handlePrivateKeyRequest(com.sun.xml.wss.impl.callback.DecryptionKeyCallback, * com.sun.xml.wss.impl.callback.DecryptionKeyCallback.PrivateKeyRequest) * @see #handleSymmetricKeyRequest(com.sun.xml.wss.impl.callback.DecryptionKeyCallback, * com.sun.xml.wss.impl.callback.DecryptionKeyCallback.SymmetricKeyRequest) */ protected final void handleDecryptionKeyCallback(DecryptionKeyCallback callback) throws IOException, UnsupportedCallbackException { if (callback.getRequest() instanceof DecryptionKeyCallback.PrivateKeyRequest) { handlePrivateKeyRequest(callback, (DecryptionKeyCallback.PrivateKeyRequest) callback.getRequest()); } else if (callback.getRequest() instanceof DecryptionKeyCallback.SymmetricKeyRequest) { handleSymmetricKeyRequest(callback, (DecryptionKeyCallback.SymmetricKeyRequest) callback.getRequest()); } else { throw new UnsupportedCallbackException(callback); } }
/** * Method that handles {@code DecryptionKeyCallback}s. Called from {@code handleInternal()}. Default * implementation delegates to specific handling methods. * * @see #handlePrivateKeyRequest(com.sun.xml.wss.impl.callback.DecryptionKeyCallback, * com.sun.xml.wss.impl.callback.DecryptionKeyCallback.PrivateKeyRequest) * @see #handleSymmetricKeyRequest(com.sun.xml.wss.impl.callback.DecryptionKeyCallback, * com.sun.xml.wss.impl.callback.DecryptionKeyCallback.SymmetricKeyRequest) */ protected final void handleDecryptionKeyCallback(DecryptionKeyCallback callback) throws IOException, UnsupportedCallbackException { if (callback.getRequest() instanceof DecryptionKeyCallback.PrivateKeyRequest) { handlePrivateKeyRequest(callback, (DecryptionKeyCallback.PrivateKeyRequest) callback.getRequest()); } else if (callback.getRequest() instanceof DecryptionKeyCallback.SymmetricKeyRequest) { handleSymmetricKeyRequest(callback, (DecryptionKeyCallback.SymmetricKeyRequest) callback.getRequest()); } else { throw new UnsupportedCallbackException(callback); } }
if (cb.getRequest() instanceof DecryptionKeyCallback.X509SubjectKeyIdentifierBasedRequest) { DecryptionKeyCallback.X509SubjectKeyIdentifierBasedRequest request = (DecryptionKeyCallback.X509SubjectKeyIdentifierBasedRequest) cb.getRequest(); byte[] ski = request.getSubjectKeyIdentifier(); PrivateKey privKey = getPrivateKey(ski, cb.getRuntimeProperties()); request.setPrivateKey(privKey); } else if (cb.getRequest() instanceof DecryptionKeyCallback.X509IssuerSerialBasedRequest) { DecryptionKeyCallback.X509IssuerSerialBasedRequest request = (DecryptionKeyCallback.X509IssuerSerialBasedRequest) cb.getRequest(); String issuerName = request.getIssuerName(); BigInteger serialNumber = request.getSerialNumber(); } else if (cb.getRequest() instanceof DecryptionKeyCallback.X509CertificateBasedRequest) { DecryptionKeyCallback.X509CertificateBasedRequest request = (DecryptionKeyCallback.X509CertificateBasedRequest) cb.getRequest(); X509Certificate cert = request.getX509Certificate(); PrivateKey privKey = getPrivateKey(cert, cb.getRuntimeProperties()); request.setPrivateKey(privKey); } else if (cb.getRequest() instanceof DecryptionKeyCallback.ThumbprintBasedRequest) { DecryptionKeyCallback.ThumbprintBasedRequest request = (DecryptionKeyCallback.ThumbprintBasedRequest) cb.getRequest(); byte[] ski = request.getThumbprintIdentifier(); PrivateKey privKey = getPrivateKeyForThumbprint(ski, cb.getRuntimeProperties()); request.setPrivateKey(privKey); } else if (cb.getRequest() instanceof DecryptionKeyCallback.PublicKeyBasedPrivKeyRequest) { DecryptionKeyCallback.PublicKeyBasedPrivKeyRequest request = (DecryptionKeyCallback.PublicKeyBasedPrivKeyRequest) cb.getRequest();