Class DuckTypedHpkeSpi
java.lang.Object
org.conscrypt.DuckTypedHpkeSpi
- All Implemented Interfaces:
HpkeSpi
-
Field Summary
FieldsFields inherited from interface HpkeSpi
DEFAULT_PSK, DEFAULT_PSK_ID -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]engineExport(int length, byte[] exporterContext) Exports secret key material from this SPI as described in RFC 9180.voidengineInitRecipient(byte[] encapsulated, PrivateKey key, byte[] info, PublicKey senderKey, byte[] psk, byte[] psk_id) Initialises an HPKE recipient SPI.voidengineInitSender(PublicKey recipientKey, byte[] info, PrivateKey senderKey, byte[] psk, byte[] pskId) Initialises an HPKE sender SPI.voidengineInitSenderForTesting(PublicKey recipientKey, byte[] info, PrivateKey senderKey, byte[] psk, byte[] pskId, byte[] sKe) Initialises an HPKE sender SPI.byte[]engineOpen(byte[] ciphertext, byte[] aad) Opens a message, using the internal key schedule maintained by an HPKE recipient.byte[]engineSeal(byte[] plaintext, byte[] aad) Seals a message, using the internal key schedule maintained by an HPKE sender.byte[]Returns the encapsulated key material for an HPKE sender.private Objectprivate ObjectinvokeNoChecked(String methodName, Object... args) private ObjectinvokeWithPossibleGeneralSecurity(String methodName, Object... args) private voidinvokeWithPossibleInvalidKey(String methodName, Object... args) static DuckTypedHpkeSpinewInstance(Object delegate)
-
Field Details
-
delegate
-
methods
-
-
Constructor Details
-
DuckTypedHpkeSpi
- Throws:
NoSuchMethodException
-
-
Method Details
-
newInstance
-
invoke
- Throws:
InvocationTargetException
-
invokeWithPossibleInvalidKey
private void invokeWithPossibleInvalidKey(String methodName, Object... args) throws InvalidKeyException - Throws:
InvalidKeyException
-
invokeWithPossibleGeneralSecurity
private Object invokeWithPossibleGeneralSecurity(String methodName, Object... args) throws GeneralSecurityException - Throws:
GeneralSecurityException
-
invokeNoChecked
-
getDelegate
-
engineInitSender
public void engineInitSender(PublicKey recipientKey, byte[] info, PrivateKey senderKey, byte[] psk, byte[] pskId) throws InvalidKeyException Description copied from interface:HpkeSpiInitialises an HPKE sender SPI.- Specified by:
engineInitSenderin interfaceHpkeSpi- Parameters:
recipientKey- public key of the recipientinfo- application-supplied information, may be null or emptysenderKey- private key of the sender, for symmetric auth modes only, else nullpsk- pre-shared key, for PSK auth modes only, else nullpskId- pre-shared key ID, for PSK auth modes only, else null- Throws:
InvalidKeyException- if recipientKey is null or an unsupported key format
-
engineInitSenderForTesting
public void engineInitSenderForTesting(PublicKey recipientKey, byte[] info, PrivateKey senderKey, byte[] psk, byte[] pskId, byte[] sKe) throws InvalidKeyException Description copied from interface:HpkeSpiInitialises an HPKE sender SPI.- Specified by:
engineInitSenderForTestingin interfaceHpkeSpi- Parameters:
recipientKey- public key of the recipientinfo- application-supplied information, may be null or emptysenderKey- private key of the sender, for symmetric auth modes only, else nullpsk- pre-shared key, for PSK auth modes only, else nullpskId- pre-shared key ID, for PSK auth modes only, else nullsKe- optional random seed, should be null for all uses except for validation against known test vectors- Throws:
InvalidKeyException- if recipientKey is null or an unsupported key format or senderKey is an unsupported key format
-
engineInitRecipient
public void engineInitRecipient(byte[] encapsulated, PrivateKey key, byte[] info, PublicKey senderKey, byte[] psk, byte[] psk_id) throws InvalidKeyException Description copied from interface:HpkeSpiInitialises an HPKE recipient SPI.- Specified by:
engineInitRecipientin interfaceHpkeSpi- Parameters:
encapsulated- encapsulated ephemeral key from a senderkey- private key of the recipientinfo- application-supplied information, may be null or emptysenderKey- public key of sender, for asymmetric auth modes only, else nullpsk- pre-shared key, for PSK auth modes only, else nullpsk_id- pre-shared key ID, for PSK auth modes only, else null- Throws:
InvalidKeyException- if recipientKey is null or an unsupported key format or senderKey is an unsupported key format
-
engineSeal
public byte[] engineSeal(byte[] plaintext, byte[] aad) Description copied from interface:HpkeSpiSeals a message, using the internal key schedule maintained by an HPKE sender.- Specified by:
engineSealin interfaceHpkeSpi- Parameters:
plaintext- the plaintextaad- optional associated data, may be null or empty- Returns:
- the ciphertext
-
engineExport
public byte[] engineExport(int length, byte[] exporterContext) Description copied from interface:HpkeSpiExports secret key material from this SPI as described in RFC 9180.- Specified by:
engineExportin interfaceHpkeSpi- Parameters:
length- expected output lengthexporterContext- optional context string, may be null or empty- Returns:
- exported value
-
engineOpen
Description copied from interface:HpkeSpiOpens a message, using the internal key schedule maintained by an HPKE recipient.- Specified by:
engineOpenin interfaceHpkeSpi- Parameters:
ciphertext- the ciphertextaad- optional associated data, may be null or empty- Returns:
- the plaintext
- Throws:
GeneralSecurityException- on decryption failures
-
getEncapsulated
public byte[] getEncapsulated()Description copied from interface:HpkeSpiReturns the encapsulated key material for an HPKE sender.- Specified by:
getEncapsulatedin interfaceHpkeSpi- Returns:
- the key material
-