Package org.bouncycastle.tls
Class TlsPSKKeyExchange
- java.lang.Object
-
- org.bouncycastle.tls.AbstractTlsKeyExchange
-
- org.bouncycastle.tls.TlsPSKKeyExchange
-
- All Implemented Interfaces:
TlsKeyExchange
public class TlsPSKKeyExchange extends AbstractTlsKeyExchange
(D)TLS PSK key exchange (RFC 4279).
-
-
Field Summary
Fields Modifier and Type Field Description protected TlsAgreement
agreement
protected TlsDHConfig
dhConfig
protected TlsDHGroupVerifier
dhGroupVerifier
protected TlsECConfig
ecConfig
protected TlsSecret
preMasterSecret
protected byte[]
psk
protected byte[]
psk_identity_hint
protected TlsPSKIdentity
pskIdentity
protected TlsPSKIdentityManager
pskIdentityManager
protected TlsCredentialedDecryptor
serverCredentials
protected TlsEncryptor
serverEncryptor
-
Fields inherited from class org.bouncycastle.tls.AbstractTlsKeyExchange
context, keyExchange
-
-
Constructor Summary
Constructors Constructor Description TlsPSKKeyExchange(int keyExchange, TlsPSKIdentityManager pskIdentityManager, TlsDHConfig dhConfig, TlsECConfig ecConfig)
TlsPSKKeyExchange(int keyExchange, TlsPSKIdentity pskIdentity, TlsDHGroupVerifier dhGroupVerifier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
generateClientKeyExchange(java.io.OutputStream output)
protected void
generateEphemeralDH(java.io.OutputStream output)
protected void
generateEphemeralECDH(java.io.OutputStream output)
protected byte[]
generateOtherSecret(int pskLength)
TlsSecret
generatePreMasterSecret()
byte[]
generateServerKeyExchange()
void
processClientCredentials(TlsCredentials clientCredentials)
void
processClientKeyExchange(java.io.InputStream input)
protected void
processEphemeralDH(byte[] y)
protected void
processEphemeralECDH(byte[] point)
void
processServerCertificate(Certificate serverCertificate)
void
processServerCredentials(TlsCredentials serverCredentials)
void
processServerKeyExchange(java.io.InputStream input)
boolean
requiresServerKeyExchange()
void
skipServerCredentials()
-
Methods inherited from class org.bouncycastle.tls.AbstractTlsKeyExchange
getClientCertificateTypes, init, processClientCertificate, requiresCertificateVerify, skipClientCredentials, skipServerKeyExchange
-
-
-
-
Field Detail
-
pskIdentity
protected TlsPSKIdentity pskIdentity
-
pskIdentityManager
protected TlsPSKIdentityManager pskIdentityManager
-
dhGroupVerifier
protected TlsDHGroupVerifier dhGroupVerifier
-
psk_identity_hint
protected byte[] psk_identity_hint
-
psk
protected byte[] psk
-
dhConfig
protected TlsDHConfig dhConfig
-
ecConfig
protected TlsECConfig ecConfig
-
agreement
protected TlsAgreement agreement
-
serverCredentials
protected TlsCredentialedDecryptor serverCredentials
-
serverEncryptor
protected TlsEncryptor serverEncryptor
-
preMasterSecret
protected TlsSecret preMasterSecret
-
-
Constructor Detail
-
TlsPSKKeyExchange
public TlsPSKKeyExchange(int keyExchange, TlsPSKIdentity pskIdentity, TlsDHGroupVerifier dhGroupVerifier)
-
TlsPSKKeyExchange
public TlsPSKKeyExchange(int keyExchange, TlsPSKIdentityManager pskIdentityManager, TlsDHConfig dhConfig, TlsECConfig ecConfig)
-
-
Method Detail
-
skipServerCredentials
public void skipServerCredentials() throws java.io.IOException
- Throws:
java.io.IOException
-
processServerCredentials
public void processServerCredentials(TlsCredentials serverCredentials) throws java.io.IOException
- 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
-
generateServerKeyExchange
public byte[] generateServerKeyExchange() throws java.io.IOException
- Specified by:
generateServerKeyExchange
in interfaceTlsKeyExchange
- Overrides:
generateServerKeyExchange
in classAbstractTlsKeyExchange
- Throws:
java.io.IOException
-
requiresServerKeyExchange
public boolean requiresServerKeyExchange()
- Specified by:
requiresServerKeyExchange
in interfaceTlsKeyExchange
- Overrides:
requiresServerKeyExchange
in classAbstractTlsKeyExchange
-
processServerKeyExchange
public void processServerKeyExchange(java.io.InputStream input) throws java.io.IOException
- Specified by:
processServerKeyExchange
in interfaceTlsKeyExchange
- Overrides:
processServerKeyExchange
in classAbstractTlsKeyExchange
- 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 TlsSecret generatePreMasterSecret() throws java.io.IOException
- Throws:
java.io.IOException
-
generateEphemeralDH
protected void generateEphemeralDH(java.io.OutputStream output) throws java.io.IOException
- Throws:
java.io.IOException
-
generateEphemeralECDH
protected void generateEphemeralECDH(java.io.OutputStream output) throws java.io.IOException
- Throws:
java.io.IOException
-
generateOtherSecret
protected byte[] generateOtherSecret(int pskLength) throws java.io.IOException
- Throws:
java.io.IOException
-
processEphemeralDH
protected void processEphemeralDH(byte[] y) throws java.io.IOException
- Throws:
java.io.IOException
-
processEphemeralECDH
protected void processEphemeralECDH(byte[] point) throws java.io.IOException
- Throws:
java.io.IOException
-
-