Class BcX25519
- java.lang.Object
-
- org.bouncycastle.tls.crypto.impl.bc.BcX25519
-
- All Implemented Interfaces:
TlsAgreement
public class BcX25519 extends java.lang.Object implements TlsAgreement
Support class for X25519 using the BC light-weight library.
-
-
Field Summary
Fields Modifier and Type Field Description protected BcTlsCrypto
crypto
protected byte[]
peerPublicKey
protected byte[]
privateKey
-
Constructor Summary
Constructors Constructor Description BcX25519(BcTlsCrypto crypto)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TlsSecret
calculateSecret()
Calculate the agreed secret based on the calculator's current state.byte[]
generateEphemeral()
Generate an ephemeral key pair, returning the encoding of the public key.void
receivePeerValue(byte[] peerValue)
Pass in the public key for the peer to the agreement calculator.
-
-
-
Field Detail
-
crypto
protected final BcTlsCrypto crypto
-
privateKey
protected final byte[] privateKey
-
peerPublicKey
protected final byte[] peerPublicKey
-
-
Constructor Detail
-
BcX25519
public BcX25519(BcTlsCrypto crypto)
-
-
Method Detail
-
generateEphemeral
public byte[] generateEphemeral() throws java.io.IOException
Description copied from interface:TlsAgreement
Generate an ephemeral key pair, returning the encoding of the public key.- Specified by:
generateEphemeral
in interfaceTlsAgreement
- Returns:
- a byte encoding of the public key.
- Throws:
java.io.IOException
- in case of error.
-
receivePeerValue
public void receivePeerValue(byte[] peerValue) throws java.io.IOException
Description copied from interface:TlsAgreement
Pass in the public key for the peer to the agreement calculator.- Specified by:
receivePeerValue
in interfaceTlsAgreement
- Parameters:
peerValue
- a byte encoding of the peer public key.- Throws:
java.io.IOException
- in case of error.
-
calculateSecret
public TlsSecret calculateSecret() throws java.io.IOException
Description copied from interface:TlsAgreement
Calculate the agreed secret based on the calculator's current state.- Specified by:
calculateSecret
in interfaceTlsAgreement
- Returns:
- the calculated secret.
- Throws:
java.io.IOException
- in case of error.
-
-