Package one.nio.net
Class SslContext
- java.lang.Object
-
- one.nio.net.SslContext
-
- Direct Known Subclasses:
JavaSslClientContext,NativeSslContext
public abstract class SslContext extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected SslConfigcurrentConfigprivate longlastCertUpdateprivate longlastOCSPUpdateprivate longlastTicketsUpdateprivate static org.slf4j.Loggerlogprivate java.util.concurrent.atomic.AtomicLongnextRefreshstatic intVERIFY_NONEstatic intVERIFY_ONCEstatic intVERIFY_PEERstatic intVERIFY_REQUIRE_PEER_CERT
-
Constructor Summary
Constructors Constructor Description SslContext()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private static booleanchanged(java.lang.String[] newValue, java.lang.String[] currentValue)private static booleanchanged(java.lang.String newValue, java.lang.String currentValue)voidclose()SslContextconfigure(SslConfig config)static SslContextcreate()abstract booleangetDebug()static SslContextgetDefault()private java.lang.StringgetPassphrase(java.lang.String passphrase)private voidinherit(SslConfig parent, SslConfig[] children)(package private) voidrefresh()abstract voidsetAntiReplayEnabled(boolean antiReplayEnabled)abstract voidsetApplicationProtocols(java.lang.String[] protocols)abstract voidsetCA(java.lang.String caFile)abstract voidsetCertificate(java.lang.String certFile)abstract voidsetCiphers(java.lang.String ciphers)abstract voidsetCompressionAlgorithms(java.lang.String[] algorithms)abstract voidsetCurve(java.lang.String curve)abstract voidsetDebug(boolean debug)abstract voidsetKernelTlsEnabled(boolean kernelTlsEnabled)abstract voidsetKeylog(boolean keylog)abstract voidsetMaxEarlyData(int size)abstract voidsetOCSP(byte[] response)abstract voidsetPassphrase(byte[] passphrase)abstract voidsetPrivateKey(java.lang.String privateKeyFile)abstract voidsetProtocols(java.lang.String protocols)abstract voidsetRdrand(boolean rdrand)abstract voidsetSessionCache(java.lang.String mode, int size)abstract voidsetSessionId(byte[] sessionId)abstract voidsetSNI(SslConfig[] sni)abstract voidsetTicketKeys(byte[] keys)abstract voidsetTimeout(long timeout)abstract voidsetVerify(int verifyMode)(package private) voidupdateCertificates(java.lang.String[] certFiles, java.lang.String[] privateKeyFiles)(package private) voidupdateOCSP(java.lang.String ocspFile, boolean force)(package private) voidupdateTicketKeys(java.lang.String ticketDir, boolean force)
-
-
-
Field Detail
-
log
private static final org.slf4j.Logger log
-
VERIFY_NONE
public static final int VERIFY_NONE
- See Also:
- Constant Field Values
-
VERIFY_PEER
public static final int VERIFY_PEER
- See Also:
- Constant Field Values
-
VERIFY_REQUIRE_PEER_CERT
public static final int VERIFY_REQUIRE_PEER_CERT
- See Also:
- Constant Field Values
-
VERIFY_ONCE
public static final int VERIFY_ONCE
- See Also:
- Constant Field Values
-
nextRefresh
private final java.util.concurrent.atomic.AtomicLong nextRefresh
-
lastCertUpdate
private long lastCertUpdate
-
lastTicketsUpdate
private long lastTicketsUpdate
-
lastOCSPUpdate
private long lastOCSPUpdate
-
currentConfig
protected SslConfig currentConfig
-
-
Method Detail
-
getDefault
public static SslContext getDefault()
-
create
public static SslContext create() throws javax.net.ssl.SSLException
- Throws:
javax.net.ssl.SSLException
-
close
public void close()
-
configure
public SslContext configure(SslConfig config) throws java.io.IOException
- Throws:
java.io.IOException
-
changed
private static boolean changed(java.lang.String newValue, java.lang.String currentValue)
-
changed
private static boolean changed(java.lang.String[] newValue, java.lang.String[] currentValue)
-
getPassphrase
private java.lang.String getPassphrase(java.lang.String passphrase)
-
updateCertificates
void updateCertificates(java.lang.String[] certFiles, java.lang.String[] privateKeyFiles) throws java.io.IOException- Throws:
java.io.IOException
-
updateTicketKeys
void updateTicketKeys(java.lang.String ticketDir, boolean force) throws java.io.IOException- Throws:
java.io.IOException
-
updateOCSP
void updateOCSP(java.lang.String ocspFile, boolean force) throws java.io.IOException- Throws:
java.io.IOException
-
refresh
void refresh()
-
setDebug
public abstract void setDebug(boolean debug)
-
getDebug
public abstract boolean getDebug()
-
setRdrand
public abstract void setRdrand(boolean rdrand) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setProtocols
public abstract void setProtocols(java.lang.String protocols) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setCiphers
public abstract void setCiphers(java.lang.String ciphers) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setCurve
public abstract void setCurve(java.lang.String curve) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setCertificate
public abstract void setCertificate(java.lang.String certFile) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setPrivateKey
public abstract void setPrivateKey(java.lang.String privateKeyFile) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setPassphrase
public abstract void setPassphrase(byte[] passphrase) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setCA
public abstract void setCA(java.lang.String caFile) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setVerify
public abstract void setVerify(int verifyMode) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setTicketKeys
public abstract void setTicketKeys(byte[] keys) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setSessionCache
public abstract void setSessionCache(java.lang.String mode, int size) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setTimeout
public abstract void setTimeout(long timeout) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setSessionId
public abstract void setSessionId(byte[] sessionId) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setApplicationProtocols
public abstract void setApplicationProtocols(java.lang.String[] protocols) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setOCSP
public abstract void setOCSP(byte[] response) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setSNI
public abstract void setSNI(SslConfig[] sni) throws java.io.IOException
- Throws:
java.io.IOException
-
setMaxEarlyData
public abstract void setMaxEarlyData(int size) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setKernelTlsEnabled
public abstract void setKernelTlsEnabled(boolean kernelTlsEnabled) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setCompressionAlgorithms
public abstract void setCompressionAlgorithms(java.lang.String[] algorithms) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setAntiReplayEnabled
public abstract void setAntiReplayEnabled(boolean antiReplayEnabled) throws javax.net.ssl.SSLException- Throws:
javax.net.ssl.SSLException
-
setKeylog
public abstract void setKeylog(boolean keylog)
-
-