@Override public PrivateKeyEncryptionContext clone() { try { PrivateKeyEncryptionContext copy = getClass().cast(super.clone()); byte[] v = copy.getInitVector(); if (v != null) { v = v.clone(); copy.setInitVector(v); } return copy; } catch (CloneNotSupportedException e) { // unexpected throw new RuntimeException("Failed to clone: " + toString()); } }
@Override public PrivateKeyEncryptionContext clone() { try { PrivateKeyEncryptionContext copy = getClass().cast(super.clone()); byte[] v = copy.getInitVector(); if (v != null) { v = v.clone(); copy.setInitVector(v); } return copy; } catch (CloneNotSupportedException e) { // unexpected throw new RuntimeException("Failed to clone: " + toString()); } }
encContext.setInitVector(initVector); byte[] encryptedData = KeyPairResourceParser.extractDataBytes(dataLines); byte[] decodedData = applyPrivateKeyCipher(encryptedData, encContext, false);
encContext.setInitVector(initVector);
protected byte[] applyPrivateKeyCipher(byte[] bytes, PrivateKeyEncryptionContext encContext, boolean encryptIt) throws GeneralSecurityException { String cipherName = encContext.getCipherName(); PrivateKeyObfuscator o = encContext.resolvePrivateKeyObfuscator(); if (o == null) { throw new NoSuchAlgorithmException("decryptPrivateKeyData(" + encContext + ")[encrypt=" + encryptIt + "] unknown cipher: " + cipherName); } if (encryptIt) { byte[] initVector = encContext.getInitVector(); if (GenericUtils.isEmpty(initVector)) { initVector = o.generateInitializationVector(encContext); encContext.setInitVector(initVector); } } return o.applyPrivateKeyCipher(bytes, encContext, encryptIt); } }
protected byte[] applyPrivateKeyCipher( byte[] bytes, PrivateKeyEncryptionContext encContext, boolean encryptIt) throws GeneralSecurityException, IOException { String cipherName = encContext.getCipherName(); PrivateKeyObfuscator o = encContext.resolvePrivateKeyObfuscator(); if (o == null) { throw new NoSuchAlgorithmException("decryptPrivateKeyData(" + encContext + ")[encrypt=" + encryptIt + "] unknown cipher: " + cipherName); } if (encryptIt) { byte[] initVector = encContext.getInitVector(); if (GenericUtils.isEmpty(initVector)) { initVector = o.generateInitializationVector(encContext); encContext.setInitVector(initVector); } } return o.applyPrivateKeyCipher(bytes, encContext, encryptIt); } }