public final class EcdhEcdsaServerKeyExchange extends ECDHServerKeyExchange
ECDHServerKeyExchange.EcdhDataFRAGMENT_LENGTH_BITS, FRAGMENT_OFFSET_BITS, MESSAGE_HEADER_LENGTH_BYTES, MESSAGE_LENGTH_BITS, MESSAGE_SEQ_BITS, MESSAGE_TYPE_BITS| Constructor and Description |
|---|
EcdhEcdsaServerKeyExchange(SignatureAndHashAlgorithm signatureAndHashAlgorithm,
XECDHECryptography ecdhe,
PrivateKey serverPrivateKey,
Random clientRandom,
Random serverRandom,
InetSocketAddress peerAddress)
Called by server with generated ephemeral keys and generates signature.
|
| Modifier and Type | Method and Description |
|---|---|
byte[] |
fragmentToByteArray()
The serialization of the handshake body (without the handshake header).
|
static HandshakeMessage |
fromReader(org.eclipse.californium.elements.util.DatagramReader reader,
InetSocketAddress peerAddress) |
int |
getMessageLength()
Must be implemented by each subclass.
|
String |
toString() |
void |
verifySignature(PublicKey serverPublicKey,
Random clientRandom,
Random serverRandom)
Called by the client after receiving the server's
ServerKeyExchange message. |
getEncodedPoint, getNamedCurveLength, getSupportedGroup, readNamedCurve, updateSignatureForNamedCurve, writeNamedCurvegetMessageTypefragmentChanged, fromByteArray, fromGenericHandshakeMessage, getContentType, getFragmentLength, getFragmentOffset, getMessageSeq, getNextHandshakeMessage, getRawMessage, setMessageSeq, setNextHandshakeMessage, size, toByteArray, writeTogetPeerpublic EcdhEcdsaServerKeyExchange(SignatureAndHashAlgorithm signatureAndHashAlgorithm, XECDHECryptography ecdhe, PrivateKey serverPrivateKey, Random clientRandom, Random serverRandom, InetSocketAddress peerAddress) throws GeneralSecurityException
signatureAndHashAlgorithm - the algorithm to useecdhe - the ECDHE helper class. Contains generated ephemeral keys.serverPrivateKey - the server's private keyclientRandom - the client's random (used for signature)serverRandom - the server's random (used for signature)peerAddress - the IP address and port of the peer this
message has been received from or should be sent toGeneralSecurityException - if generating the signature providing prove of
possession of the private key fails, e.g. due to an unsupported
signature or hash algorithm or an invalid keypublic int getMessageLength()
HandshakeMessagegetMessageLength in class HandshakeMessagepublic byte[] fragmentToByteArray()
HandshakeMessageClientHello, the
fragments are considered to be not modified. If a modification is required,
call HandshakeMessage.fragmentChanged().fragmentToByteArray in class HandshakeMessagepublic static HandshakeMessage fromReader(org.eclipse.californium.elements.util.DatagramReader reader, InetSocketAddress peerAddress) throws HandshakeException
HandshakeExceptionpublic void verifySignature(PublicKey serverPublicKey, Random clientRandom, Random serverRandom) throws HandshakeException
ServerKeyExchange message. Verifies the contained signature.serverPublicKey - the server's public key.clientRandom - the client's random (used in signature).serverRandom - the server's random (used in signature).HandshakeException - if the signature could not be verified.public String toString()
toString in class ECDHServerKeyExchangeCopyright © 2023 Eclipse Foundation. All rights reserved.