org.bouncycastle.tls.crypto.TlsAgreement Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bctls-lts8on Show documentation
Show all versions of bctls-lts8on Show documentation
The Bouncy Castle Java APIs for the TLS, including a JSSE provider. The APIs are designed primarily to be used in conjunction with the BC LTS provider but may also be used with other providers providing cryptographic services.
package org.bouncycastle.tls.crypto;
import java.io.IOException;
/**
* Base interface for ephemeral key agreement calculator.
*/
public interface TlsAgreement
{
/**
* Generate an ephemeral key pair, returning the encoding of the public key.
*
* @return a byte encoding of the public key.
* @throws IOException in case of error.
*/
byte[] generateEphemeral() throws IOException;
/**
* Pass in the public key for the peer to the agreement calculator.
*
* @param peerValue a byte encoding of the peer public key.
* @throws IOException in case of error.
*/
void receivePeerValue(byte[] peerValue) throws IOException;
/**
* Calculate the agreed secret based on the calculator's current state.
* @return the calculated secret.
* @throws IOException in case of error.
*/
TlsSecret calculateSecret() throws IOException;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy