All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bouncycastle.tls.crypto.TlsAgreement Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 2.73.7
Show newest version
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