Class EciesDecryptor
java.lang.Object
io.getlime.security.powerauth.crypto.lib.encryptor.ecies.EciesDecryptor
Class implementing an ECIES decryptor.
- Author:
- Petr Dvorak, petr@wultra.com, Roman Strobl, roman.strobl@wultra.com
-
Constructor Summary
ConstructorsConstructorDescriptionEciesDecryptor(EciesEnvelopeKey envelopeKey, byte[] sharedInfo2) Construct a decryptor from existing ECIES envelope key and sharedInfo2 parameter.EciesDecryptor(ECPrivateKey encryptionPrivateKey) Construct a new decryptor with the base private key and null sharedInfo1 and sharedInfo2 parameters.EciesDecryptor(ECPrivateKey encryptionPrivateKey, byte[] sharedInfo1, byte[] sharedInfo2) Construct a new decryptor with the base private key and provided sharedInfo1 and sharedInfo2 parameters. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]decrypt(EciesPayload payload) Decrypt data from ECIES payload.Get ECIES envelope key.byte[]Get parameter sharedInfo2 for ECIES.voidinitEnvelopeKey(byte[] ephemeralPublicKeyBytes) Initialize envelope key for decryptor using provided ephemeral public key.
-
Constructor Details
-
EciesDecryptor
Construct a new decryptor with the base private key and null sharedInfo1 and sharedInfo2 parameters.- Parameters:
encryptionPrivateKey- Private key to be used for decryption.
-
EciesDecryptor
Construct a new decryptor with the base private key and provided sharedInfo1 and sharedInfo2 parameters.- Parameters:
encryptionPrivateKey- Private key to be used for decryption.sharedInfo1- Additional shared information used during key derivation.sharedInfo2- Additional shared information used during decryption.
-
EciesDecryptor
Construct a decryptor from existing ECIES envelope key and sharedInfo2 parameter. The derivation of envelope key is skipped. The privateKey and sharedInfo1 values are unknown.- Parameters:
envelopeKey- ECIES envelope key.sharedInfo2- Parameter sharedInfo2 for ECIES.
-
-
Method Details
-
initEnvelopeKey
Initialize envelope key for decryptor using provided ephemeral public key. This method is used either when there is no incoming encrypted request to decrypt which would initialize the envelope key or the decryptor parameters are transported over network and the decryptor is reconstructed on another server using envelope key and sharedInfo2 parameter.- Parameters:
ephemeralPublicKeyBytes- Ephemeral public key for ECIES.- Throws:
EciesException- In case envelope key initialization fails.
-
decrypt
Decrypt data from ECIES payload.- Parameters:
payload- ECIES payload.- Returns:
- Decrypted data.
- Throws:
EciesException- In case decryption fails.
-
getEnvelopeKey
Get ECIES envelope key.- Returns:
- ECIES envelope key.
-