Package org.bouncycastle.crypto.tls
Class TlsRSAKeyExchange
- java.lang.Object
-
- org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
-
- org.bouncycastle.crypto.tls.TlsRSAKeyExchange
-
- All Implemented Interfaces:
TlsKeyExchange
public class TlsRSAKeyExchange extends AbstractTlsKeyExchange
(D)TLS and SSLv3 RSA key exchange.
-
-
Field Summary
Fields Modifier and Type Field Description protected byte[]
premasterSecret
protected RSAKeyParameters
rsaServerPublicKey
protected TlsEncryptionCredentials
serverCredentials
protected AsymmetricKeyParameter
serverPublicKey
-
Fields inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
context, keyExchange, supportedSignatureAlgorithms
-
-
Constructor Summary
Constructors Constructor Description TlsRSAKeyExchange(java.util.Vector supportedSignatureAlgorithms)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
generateClientKeyExchange(java.io.OutputStream output)
byte[]
generatePremasterSecret()
void
processClientCredentials(TlsCredentials clientCredentials)
void
processClientKeyExchange(java.io.InputStream input)
void
processServerCertificate(Certificate serverCertificate)
void
processServerCredentials(TlsCredentials serverCredentials)
void
skipServerCredentials()
void
validateCertificateRequest(CertificateRequest certificateRequest)
protected RSAKeyParameters
validateRSAPublicKey(RSAKeyParameters key)
-
Methods inherited from class org.bouncycastle.crypto.tls.AbstractTlsKeyExchange
generateServerKeyExchange, init, parseSignature, processClientCertificate, processServerKeyExchange, requiresServerKeyExchange, skipClientCredentials, skipServerKeyExchange
-
-
-
-
Field Detail
-
serverPublicKey
protected AsymmetricKeyParameter serverPublicKey
-
rsaServerPublicKey
protected RSAKeyParameters rsaServerPublicKey
-
serverCredentials
protected TlsEncryptionCredentials serverCredentials
-
premasterSecret
protected byte[] premasterSecret
-
-
Method Detail
-
skipServerCredentials
public void skipServerCredentials() throws java.io.IOException
- Throws:
java.io.IOException
-
processServerCredentials
public void processServerCredentials(TlsCredentials serverCredentials) throws java.io.IOException
- Specified by:
processServerCredentials
in interfaceTlsKeyExchange
- Overrides:
processServerCredentials
in classAbstractTlsKeyExchange
- Throws:
java.io.IOException
-
processServerCertificate
public void processServerCertificate(Certificate serverCertificate) throws java.io.IOException
- Specified by:
processServerCertificate
in interfaceTlsKeyExchange
- Overrides:
processServerCertificate
in classAbstractTlsKeyExchange
- Throws:
java.io.IOException
-
validateCertificateRequest
public void validateCertificateRequest(CertificateRequest certificateRequest) throws java.io.IOException
- Throws:
java.io.IOException
-
processClientCredentials
public void processClientCredentials(TlsCredentials clientCredentials) throws java.io.IOException
- Throws:
java.io.IOException
-
generateClientKeyExchange
public void generateClientKeyExchange(java.io.OutputStream output) throws java.io.IOException
- Throws:
java.io.IOException
-
processClientKeyExchange
public void processClientKeyExchange(java.io.InputStream input) throws java.io.IOException
- Specified by:
processClientKeyExchange
in interfaceTlsKeyExchange
- Overrides:
processClientKeyExchange
in classAbstractTlsKeyExchange
- Throws:
java.io.IOException
-
generatePremasterSecret
public byte[] generatePremasterSecret() throws java.io.IOException
- Throws:
java.io.IOException
-
validateRSAPublicKey
protected RSAKeyParameters validateRSAPublicKey(RSAKeyParameters key) throws java.io.IOException
- Throws:
java.io.IOException
-
-