Class HardwareSecurity.HardwareDataDecryptorFactory
java.lang.Object
org.pgpainless.decryption_verification.HardwareSecurity.HardwareDataDecryptorFactory
- All Implemented Interfaces:
org.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
,org.bouncycastle.openpgp.operator.PublicKeyDataDecryptorFactory
,CustomPublicKeyDataDecryptorFactory
- Enclosing class:
- HardwareSecurity
public static class HardwareSecurity.HardwareDataDecryptorFactory
extends Object
implements CustomPublicKeyDataDecryptorFactory
Implementation of
PublicKeyDataDecryptorFactory
which delegates decryption of encrypted session keys
to a HardwareSecurity.DecryptionCallback
.
Users can provide such a callback to delegate decryption of messages to hardware security SDKs.-
Constructor Summary
ConstructorsConstructorDescriptionHardwareDataDecryptorFactory
(SubkeyIdentifier subkeyIdentifier, HardwareSecurity.DecryptionCallback callback) Create a newHardwareSecurity.HardwareDataDecryptorFactory
. -
Method Summary
Modifier and TypeMethodDescriptionorg.bouncycastle.openpgp.operator.PGPDataDecryptor
createDataDecryptor
(boolean withIntegrityPacket, int encAlgorithm, byte[] key) org.bouncycastle.openpgp.operator.PGPDataDecryptor
createDataDecryptor
(org.bouncycastle.bcpg.AEADEncDataPacket aeadEncDataPacket, org.bouncycastle.openpgp.PGPSessionKey sessionKey) org.bouncycastle.openpgp.operator.PGPDataDecryptor
createDataDecryptor
(org.bouncycastle.bcpg.SymmetricEncIntegrityPacket seipd, org.bouncycastle.openpgp.PGPSessionKey sessionKey) Return theSubkeyIdentifier
for which this particularCustomPublicKeyDataDecryptorFactory
is intended.byte[]
recoverSessionData
(int keyAlgorithm, byte[][] secKeyData)
-
Constructor Details
-
HardwareDataDecryptorFactory
public HardwareDataDecryptorFactory(SubkeyIdentifier subkeyIdentifier, HardwareSecurity.DecryptionCallback callback) Create a newHardwareSecurity.HardwareDataDecryptorFactory
.- Parameters:
subkeyIdentifier
- identifier of the decryption subkeycallback
- decryption callback
-
-
Method Details
-
recoverSessionData
public byte[] recoverSessionData(int keyAlgorithm, byte[][] secKeyData) throws org.bouncycastle.openpgp.PGPException - Specified by:
recoverSessionData
in interfaceorg.bouncycastle.openpgp.operator.PublicKeyDataDecryptorFactory
- Throws:
org.bouncycastle.openpgp.PGPException
-
createDataDecryptor
public org.bouncycastle.openpgp.operator.PGPDataDecryptor createDataDecryptor(boolean withIntegrityPacket, int encAlgorithm, byte[] key) throws org.bouncycastle.openpgp.PGPException - Specified by:
createDataDecryptor
in interfaceorg.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
- Throws:
org.bouncycastle.openpgp.PGPException
-
createDataDecryptor
public org.bouncycastle.openpgp.operator.PGPDataDecryptor createDataDecryptor(org.bouncycastle.bcpg.AEADEncDataPacket aeadEncDataPacket, org.bouncycastle.openpgp.PGPSessionKey sessionKey) throws org.bouncycastle.openpgp.PGPException - Specified by:
createDataDecryptor
in interfaceorg.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
- Throws:
org.bouncycastle.openpgp.PGPException
-
createDataDecryptor
public org.bouncycastle.openpgp.operator.PGPDataDecryptor createDataDecryptor(org.bouncycastle.bcpg.SymmetricEncIntegrityPacket seipd, org.bouncycastle.openpgp.PGPSessionKey sessionKey) throws org.bouncycastle.openpgp.PGPException - Specified by:
createDataDecryptor
in interfaceorg.bouncycastle.openpgp.operator.PGPDataDecryptorFactory
- Throws:
org.bouncycastle.openpgp.PGPException
-
getSubkeyIdentifier
Description copied from interface:CustomPublicKeyDataDecryptorFactory
Return theSubkeyIdentifier
for which this particularCustomPublicKeyDataDecryptorFactory
is intended.- Specified by:
getSubkeyIdentifier
in interfaceCustomPublicKeyDataDecryptorFactory
- Returns:
- subkey identifier
-