public PrivateKey getPrivateKey(Map context, X509Certificate cert) throws XWSSecurityException { PrivateKey privateKey = null; DecryptionKeyCallback.PrivateKeyRequest privateKeyRequest = new DecryptionKeyCallback.X509CertificateBasedRequest(cert); DecryptionKeyCallback decryptKeyCallback = new DecryptionKeyCallback(privateKeyRequest); // if (!isDefaultHandler) { ProcessingContext.copy(decryptKeyCallback.getRuntimeProperties(), context); // } Callback[] callbacks = new Callback[]{decryptKeyCallback}; try { callbackHandler.handle(callbacks); } catch (Exception e) { log.log(Level.SEVERE, "WSS0216.callbackhandler.handle.exception", new Object[]{"DecryptionKeyCallback.X509CertificateBasedRequest"}); log.log(Level.SEVERE, "WSS0217.callbackhandler.handle.exception.log", e); throw new XWSSecurityException(e); } privateKey = privateKeyRequest.getPrivateKey(); if (privateKey == null) { log.log(Level.SEVERE, "WSS0222.cannot.locate.privkey", new Object[]{"given certificate"}); throw new XWSSecurityException( "Could not retrieve private Key matching the given certificate"); } return privateKey; }
DecryptionKeyCallback decryptKeyCallback = new DecryptionKeyCallback(privKeyRequest);
DecryptionKeyCallback decryptKeyCallback = new DecryptionKeyCallback(privKeyRequest);
DecryptionKeyCallback decryptKeyCallback = new DecryptionKeyCallback(privKeyRequest);
DecryptionKeyCallback.PublicKeyBasedPrivKeyRequest req = new DecryptionKeyCallback.PublicKeyBasedPrivKeyRequest(publicKey); DecryptionKeyCallback dkc = new DecryptionKeyCallback(req);
DecryptionKeyCallback.SymmetricKeyRequest symmKeyRequest = new DecryptionKeyCallback.AliasSymmetricKeyRequest(alias); DecryptionKeyCallback decryptKeyCallback = new DecryptionKeyCallback(symmKeyRequest); if (!isDefaultHandler) { ProcessingContext.copy(decryptKeyCallback.getRuntimeProperties(), context);