本文整理了Java中javax.crypto.Cipher.unwrap()
方法的一些代码示例,展示了Cipher.unwrap()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Cipher.unwrap()
方法的具体详情如下:
包路径:javax.crypto.Cipher
类名称:Cipher
方法名:unwrap
[英]Unwraps a key using this cipher instance.
[中]使用此密码实例打开密钥。
代码示例来源:origin: pentaho/pentaho-kettle
public static Key decodeTransmittedKey( byte[] sessionKey, byte[] transmittedKey, boolean privateKey )
throws InvalidKeySpecException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException {
KeySpec keySpec = null;
Key keyKey = null;
if ( transmittedKey == null || sessionKey == null ) {
return null;
}
if ( !privateKey ) {
keySpec = new X509EncodedKeySpec( sessionKey );
keyKey = KeyFactory.getInstance( PUBLIC_KEY_ALGORITHM ).generatePublic( keySpec );
} else {
keySpec = new PKCS8EncodedKeySpec( sessionKey );
keyKey = KeyFactory.getInstance( PUBLIC_KEY_ALGORITHM ).generatePrivate( keySpec );
}
Cipher keyCipher = Cipher.getInstance( TRANSMISSION_CIPHER_PARAMS );
keyCipher.init( Cipher.UNWRAP_MODE, keyKey );
return keyCipher.unwrap( transmittedKey, SINGLE_KEY_ALGORITHM, Cipher.SECRET_KEY );
}
代码示例来源:origin: apache/incubator-dubbo
keyCipher.init(Cipher.UNWRAP_MODE, _privateKey);
Key key = keyCipher.unwrap(encKey, algorithm, Cipher.SECRET_KEY);
_bodyIn = _in.readInputStream();
代码示例来源:origin: apache/incubator-dubbo
keyCipher.init(Cipher.UNWRAP_MODE, _cert);
Key key = keyCipher.unwrap(encKey, algorithm, Cipher.SECRET_KEY);
_bodyIn = _in.readInputStream();
代码示例来源:origin: aws/aws-sdk-java
keyWrapAlgo, securityProvider);
cipher.init(Cipher.UNWRAP_MODE, kek);
return (SecretKey) cipher.unwrap(cekSecured, keyWrapAlgo,
Cipher.SECRET_KEY);
代码示例来源:origin: apache/accumulo
@SuppressFBWarnings(value = "CIPHER_INTEGRITY",
justification = "integrity not needed for key wrap")
public static Key unwrapKey(byte[] fek, Key kek) {
Key result = null;
try {
Cipher c = Cipher.getInstance(KEY_WRAP_TRANSFORM);
c.init(Cipher.UNWRAP_MODE, kek);
result = c.unwrap(fek, "AES", Cipher.SECRET_KEY);
} catch (InvalidKeyException | NoSuchAlgorithmException | NoSuchPaddingException e) {
throw new CryptoException("Unable to unwrap file encryption key", e);
}
return result;
}
代码示例来源:origin: aws-amplify/aws-sdk-android
keyWrapAlgo, securityProvider);
cipher.init(Cipher.UNWRAP_MODE, kek);
return (SecretKey) cipher.unwrap(cekSecured, keyWrapAlgo,
Cipher.SECRET_KEY);
代码示例来源:origin: 0xbb/otp-authenticator
/**
* Unwrap a {@link SecretKey} using the private key assigned to this
* wrapper.
*
* @param blob a wrapped {@link SecretKey} as previously returned by
* {@link #wrap(SecretKey)}.
*/
public SecretKey unwrap(byte[] blob) throws GeneralSecurityException {
mCipher.init(Cipher.UNWRAP_MODE, mPair.getPrivate());
return (SecretKey) mCipher.unwrap(blob, "AES", Cipher.SECRET_KEY);
}
}
代码示例来源:origin: com.caucho/resin
public Key decryptKey(String keyAlgorithm, byte []encKey)
{
try {
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.UNWRAP_MODE, _authKeyPair.getPrivate());
Key key = cipher.unwrap(encKey, keyAlgorithm, Cipher.SECRET_KEY);
return key;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
代码示例来源:origin: jscep/jscep
private Key unwrapKey(PrivateKey wrappingKey, byte[] wrappedKey) throws GeneralSecurityException {
Cipher unwrapper = Cipher.getInstance(RSA);
unwrapper.init(Cipher.UNWRAP_MODE, wrappingKey);
try {
return unwrapper.unwrap(wrappedKey, DES, Cipher.SECRET_KEY);
} catch (InvalidKeyException e) {
LOGGER.error("Cannot unwrap symetric key. Are you using a valid key pair?");
throw e;
}
}
代码示例来源:origin: baratine/baratine
public Key decryptKey(String keyAlgorithm, byte []encKey)
{
try {
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.UNWRAP_MODE, _authKeyPair.getPrivate());
Key key = cipher.unwrap(encKey, keyAlgorithm, Cipher.SECRET_KEY);
return key;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
代码示例来源:origin: baratine/baratine
public Key decryptKey(String keyAlgorithm, byte []encKey)
{
try {
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.UNWRAP_MODE, _authKeyPair.getPrivate());
Key key = cipher.unwrap(encKey, keyAlgorithm, Cipher.SECRET_KEY);
return key;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
代码示例来源:origin: apptentive/apptentive-android
private static SecretKey unwrapSymmetricKey(KeyPair wrapperKey, String wrappedKeyData) throws NoSuchPaddingException,
NoSuchAlgorithmException,
InvalidKeyException {
byte[] encryptedKeyData = Base64.decode(wrappedKeyData, Base64.DEFAULT);
Cipher cipher = Cipher.getInstance(WRAPPER_TRANSFORMATION);
cipher.init(Cipher.UNWRAP_MODE, wrapperKey.getPrivate());
return (SecretKey) cipher.unwrap(encryptedKeyData, DEFAULT_KEY_ALGORITHM, Cipher.SECRET_KEY);
}
代码示例来源:origin: apache/cxf
public static Key unwrapKey(byte[] wrappedBytes,
String wrappedKeyAlgo,
Key unwrapperKey,
KeyProperties keyProps,
int wrappedKeyType) throws SecurityException {
try {
Cipher c = initCipher(unwrapperKey, keyProps, Cipher.UNWRAP_MODE);
return c.unwrap(wrappedBytes, wrappedKeyAlgo, wrappedKeyType);
} catch (Exception ex) {
throw new SecurityException(ex);
}
}
代码示例来源:origin: org.apache.cxf/cxf-rt-security
public static Key unwrapKey(byte[] wrappedBytes,
String wrappedKeyAlgo,
Key unwrapperKey,
KeyProperties keyProps,
int wrappedKeyType) throws SecurityException {
try {
Cipher c = initCipher(unwrapperKey, keyProps, Cipher.UNWRAP_MODE);
return c.unwrap(wrappedBytes, wrappedKeyAlgo, wrappedKeyType);
} catch (Exception ex) {
throw new SecurityException(ex);
}
}
代码示例来源:origin: stackoverflow.com
Cipher rsa = Cipher.getInstance("RSA/ECB/OAEPWithSHA1AndMGF1Padding");
rsa.init(Cipher.WRAP_MODE, keyPair.getPublic());
byte[] wrapped = rsa.wrap(aesKey);
rsa.init(Cipher.UNWRAP_MODE, keyPair.getPrivate());
SecretKey unwrappedAESKey = (SecretKey) rsa.unwrap(wrapped, "RSA", Cipher.SECRET_KEY);
代码示例来源:origin: stackoverflow.com
SecretKey sk = new SecretKeySpec(new byte[16], "AES");
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding");
GCMParameterSpec gcmSpec = new GCMParameterSpec(128, new byte[12]);
cipher.init(Cipher.WRAP_MODE, sk, gcmSpec);
byte[] wrappedKey = cipher.wrap(sk);
System.out.println(Hex.toHexString(wrappedKey));
cipher.init(Cipher.UNWRAP_MODE, sk, gcmSpec);
SecretKey unwrap = (SecretKey) cipher.unwrap(wrappedKey, "AES", Cipher.SECRET_KEY);
System.out.println(Hex.toHexString(unwrap.getEncoded()));
代码示例来源:origin: com.amazonaws/aws-dynamodb-encryption-java
protected SecretKey unwrapKey(Map<String, String> description, byte[] encryptedKey, String wrappingAlgorithm)
throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException {
if (unwrappingKey instanceof DelegatedKey) {
return (SecretKey)((DelegatedKey)unwrappingKey).unwrap(encryptedKey,
description.get(CONTENT_KEY_ALGORITHM), Cipher.SECRET_KEY, null, wrappingAlgorithm);
} else {
Cipher cipher = Cipher.getInstance(wrappingAlgorithm);
cipher.init(Cipher.UNWRAP_MODE, unwrappingKey, Utils.getRng());
return (SecretKey) cipher.unwrap(encryptedKey,
description.get(CONTENT_KEY_ALGORITHM), Cipher.SECRET_KEY);
}
}
代码示例来源:origin: aws/aws-dynamodb-encryption-java
protected SecretKey unwrapKey(Map<String, String> description, byte[] encryptedKey, String wrappingAlgorithm)
throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException {
if (unwrappingKey instanceof DelegatedKey) {
return (SecretKey)((DelegatedKey)unwrappingKey).unwrap(encryptedKey,
description.get(CONTENT_KEY_ALGORITHM), Cipher.SECRET_KEY, null, wrappingAlgorithm);
} else {
Cipher cipher = Cipher.getInstance(wrappingAlgorithm);
cipher.init(Cipher.UNWRAP_MODE, unwrappingKey, Utils.getRng());
return (SecretKey) cipher.unwrap(encryptedKey,
description.get(CONTENT_KEY_ALGORITHM), Cipher.SECRET_KEY);
}
}
代码示例来源:origin: com.madgag.spongycastle/pkix
private Key unwrapSessionKey(ASN1ObjectIdentifier wrapAlg, SecretKey agreedKey, ASN1ObjectIdentifier contentEncryptionAlgorithm, byte[] encryptedContentEncryptionKey)
throws CMSException, InvalidKeyException, NoSuchAlgorithmException
{
Cipher keyCipher = helper.createCipher(wrapAlg);
keyCipher.init(Cipher.UNWRAP_MODE, agreedKey);
return keyCipher.unwrap(encryptedContentEncryptionKey, helper.getBaseCipherName(contentEncryptionAlgorithm), Cipher.SECRET_KEY);
}
代码示例来源:origin: com.madgag.spongycastle/bcpkix-jdk15on
private Key unwrapSessionKey(ASN1ObjectIdentifier wrapAlg, SecretKey agreedKey, ASN1ObjectIdentifier contentEncryptionAlgorithm, byte[] encryptedContentEncryptionKey)
throws CMSException, InvalidKeyException, NoSuchAlgorithmException
{
Cipher keyCipher = helper.createCipher(wrapAlg);
keyCipher.init(Cipher.UNWRAP_MODE, agreedKey);
return keyCipher.unwrap(encryptedContentEncryptionKey, helper.getBaseCipherName(contentEncryptionAlgorithm), Cipher.SECRET_KEY);
}
内容来源于网络,如有侵权,请联系作者删除!