public final class SSL
extends java.lang.Object
| Constructor and Description |
|---|
SSL() |
| Modifier and Type | Method and Description |
|---|---|
static int |
closeBIO(long bio)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static int |
doHandshake(long ssl)
SSL_do_handshake
|
static int |
fipsModeGet()
Get the status of FIPS Mode.
|
static int |
fipsModeSet(int mode)
Enable/Disable FIPS Mode.
|
static void |
freeBIO(long bio)
BIO_free
|
static void |
freeSSL(long ssl)
SSL_free
|
static java.lang.String |
getAlpnSelected(long ssl)
SSL_get0_alpn_selected
|
static java.lang.String |
getCipherForSSL(long ssl)
SSL_get_cipher.
|
static java.lang.String[] |
getCiphers(long ssl)
Returns all cipher suites that are enabled for negotiation in an SSL handshake.
|
static int |
getError(long ssl,
int ret)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static java.lang.String |
getErrorString(long errorNumber)
Get the error number representing for the given
errorNumber. |
static int |
getHandshakeCount(long ssl)
Return the handshake completed count.
|
static java.lang.String |
getLastError()
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static int |
getLastErrorNumber()
Get the error number representing the last error OpenSSL encountered on
this thread.
|
static java.lang.String |
getNextProtoNegotiated(long ssl)
Deprecated.
Unused. Will be removed in Tomcat 10.1.x
|
static int |
getOptions(long ssl)
Get OpenSSL Option.
|
static byte[][] |
getPeerCertChain(long ssl)
Get the peer certificate chain or
null if non was send. |
static byte[] |
getPeerCertificate(long ssl)
Get the peer certificate or
null if non was send. |
static int |
getPostHandshakeAuthInProgress(long ssl)
Is post handshake authentication in progress on this connection?
|
static byte[] |
getSessionId(long ssl)
Returns the ID of the session as byte array representation.
|
static int |
getShutdown(long ssl)
SSL_get_shutdown
|
static long |
getTime(long ssl)
SSL_get_time
|
static java.lang.String |
getVersion(long ssl)
SSL_get_version
|
static boolean |
hasOp(int op)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static int |
initialize(java.lang.String engine)
Initialize OpenSSL support.
|
static int |
isInInit(long ssl)
SSL_in_init.
|
static long |
makeNetworkBIO(long ssl)
Wire up internal and network BIOs for the given SSL instance.
|
static long |
newBIO(long pool,
BIOCallback callback)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static long |
newSSL(long ctx,
boolean server)
SSL_new
|
static int |
pendingReadableBytesInSSL(long ssl)
SSL_pending.
|
static int |
pendingWrittenBytesInBIO(long bio)
BIO_ctrl_pending.
|
static boolean |
randLoad(java.lang.String filename)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static boolean |
randMake(java.lang.String filename,
int len,
boolean base64)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static boolean |
randSave(java.lang.String filename)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static void |
randSet(java.lang.String filename)
Sets global random filename.
|
static int |
readFromBIO(long bio,
long rbuf,
int rlen)
BIO_read.
|
static int |
readFromSSL(long ssl,
long rbuf,
int rlen)
SSL_read
|
static int |
renegotiate(long ssl)
SSL_renegotiate
|
static int |
renegotiatePending(long ssl)
SSL_renegotiate_pending
|
static void |
setBIO(long ssl,
long rbio,
long wbio)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static boolean |
setCipherSuites(long ssl,
java.lang.String ciphers)
Returns the cipher suites available for negotiation in SSL handshake.
|
static void |
setOptions(long ssl,
int options)
Set OpenSSL Option.
|
static void |
setPassword(java.lang.String password)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static void |
setPasswordCallback(PasswordCallback callback)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static void |
setShutdown(long ssl,
int mode)
Deprecated.
Unused. Will be removed in Tomcat 10.1
|
static void |
setVerify(long ssl,
int level,
int depth)
Set Type of Client Certificate verification and Maximum depth of CA Certificates
in Client Certificate verification.
|
static int |
shutdownSSL(long ssl)
SSL_shutdown
|
static int |
verifyClientPostHandshake(long ssl)
SSL_verify_client_post_handshake
|
static int |
version() |
static java.lang.String |
versionString() |
static int |
writeToBIO(long bio,
long wbuf,
int wlen)
BIO_write.
|
static int |
writeToSSL(long ssl,
long wbuf,
int wlen)
SSL_write.
|
public static final int UNSET
public static final int SSL_ALGO_UNKNOWN
public static final int SSL_ALGO_RSA
public static final int SSL_ALGO_DSA
public static final int SSL_ALGO_ALL
public static final int SSL_AIDX_RSA
public static final int SSL_AIDX_DSA
public static final int SSL_AIDX_ECC
public static final int SSL_AIDX_MAX
public static final int SSL_TMP_KEY_RSA_512
public static final int SSL_TMP_KEY_RSA_1024
public static final int SSL_TMP_KEY_RSA_2048
public static final int SSL_TMP_KEY_RSA_4096
public static final int SSL_TMP_KEY_DH_512
public static final int SSL_TMP_KEY_DH_1024
public static final int SSL_TMP_KEY_DH_2048
public static final int SSL_TMP_KEY_DH_4096
public static final int SSL_TMP_KEY_MAX
public static final int SSL_OPT_NONE
public static final int SSL_OPT_RELSET
public static final int SSL_OPT_STDENVVARS
public static final int SSL_OPT_EXPORTCERTDATA
public static final int SSL_OPT_FAKEBASICAUTH
public static final int SSL_OPT_STRICTREQUIRE
public static final int SSL_OPT_OPTRENEGOTIATE
public static final int SSL_OPT_ALL
public static final int SSL_PROTOCOL_NONE
public static final int SSL_PROTOCOL_SSLV2
public static final int SSL_PROTOCOL_SSLV3
public static final int SSL_PROTOCOL_TLSV1
public static final int SSL_PROTOCOL_TLSV1_1
public static final int SSL_PROTOCOL_TLSV1_2
public static final int SSL_PROTOCOL_TLSV1_3
public static final int SSL_PROTOCOL_ALL
public static final int SSL_CVERIFY_UNSET
public static final int SSL_CVERIFY_NONE
public static final int SSL_CVERIFY_OPTIONAL
public static final int SSL_CVERIFY_REQUIRE
public static final int SSL_CVERIFY_OPTIONAL_NO_CA
public static final int SSL_VERIFY_NONE
public static final int SSL_VERIFY_PEER
public static final int SSL_VERIFY_FAIL_IF_NO_PEER_CERT
public static final int SSL_VERIFY_CLIENT_ONCE
public static final int SSL_VERIFY_PEER_STRICT
public static final int SSL_OP_MICROSOFT_SESS_ID_BUG
public static final int SSL_OP_NETSCAPE_CHALLENGE_BUG
public static final int SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG
public static final int SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG
public static final int SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER
public static final int SSL_OP_MSIE_SSLV2_RSA_PADDING
public static final int SSL_OP_SSLEAY_080_CLIENT_DH_BUG
public static final int SSL_OP_TLS_D5_BUG
public static final int SSL_OP_TLS_BLOCK_PADDING_BUG
public static final int SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
public static final int SSL_OP_ALL
public static final int SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION
public static final int SSL_OP_NO_COMPRESSION
public static final int SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION
public static final int SSL_OP_SINGLE_ECDH_USE
public static final int SSL_OP_SINGLE_DH_USE
public static final int SSL_OP_EPHEMERAL_RSA
public static final int SSL_OP_CIPHER_SERVER_PREFERENCE
public static final int SSL_OP_TLS_ROLLBACK_BUG
public static final int SSL_OP_NO_SSLv2
public static final int SSL_OP_NO_SSLv3
public static final int SSL_OP_NO_TLSv1
public static final int SSL_OP_NO_TLSv1_2
public static final int SSL_OP_NO_TLSv1_1
public static final int SSL_OP_NO_TICKET
@Deprecated public static final int SSL_OP_PKCS1_CHECK_1
@Deprecated public static final int SSL_OP_PKCS1_CHECK_2
public static final int SSL_OP_NETSCAPE_CA_DN_BUG
public static final int SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG
public static final int SSL_CRT_FORMAT_UNDEF
public static final int SSL_CRT_FORMAT_ASN1
public static final int SSL_CRT_FORMAT_TEXT
public static final int SSL_CRT_FORMAT_PEM
public static final int SSL_CRT_FORMAT_NETSCAPE
public static final int SSL_CRT_FORMAT_PKCS12
public static final int SSL_CRT_FORMAT_SMIME
public static final int SSL_CRT_FORMAT_ENGINE
public static final int SSL_MODE_CLIENT
public static final int SSL_MODE_SERVER
public static final int SSL_MODE_COMBINED
public static final int SSL_CONF_FLAG_CMDLINE
public static final int SSL_CONF_FLAG_FILE
public static final int SSL_CONF_FLAG_CLIENT
public static final int SSL_CONF_FLAG_SERVER
public static final int SSL_CONF_FLAG_SHOW_ERRORS
public static final int SSL_CONF_FLAG_CERTIFICATE
public static final int SSL_CONF_TYPE_UNKNOWN
public static final int SSL_CONF_TYPE_STRING
public static final int SSL_CONF_TYPE_FILE
public static final int SSL_CONF_TYPE_DIR
public static final int SSL_SHUTDOWN_TYPE_UNSET
public static final int SSL_SHUTDOWN_TYPE_STANDARD
public static final int SSL_SHUTDOWN_TYPE_UNCLEAN
public static final int SSL_SHUTDOWN_TYPE_ACCURATE
public static final int SSL_INFO_SESSION_ID
public static final int SSL_INFO_CIPHER
public static final int SSL_INFO_CIPHER_USEKEYSIZE
public static final int SSL_INFO_CIPHER_ALGKEYSIZE
public static final int SSL_INFO_CIPHER_VERSION
public static final int SSL_INFO_CIPHER_DESCRIPTION
public static final int SSL_INFO_PROTOCOL
public static final int SSL_INFO_CLIENT_S_DN
public static final int SSL_INFO_CLIENT_I_DN
public static final int SSL_INFO_SERVER_S_DN
public static final int SSL_INFO_SERVER_I_DN
public static final int SSL_INFO_DN_COUNTRYNAME
public static final int SSL_INFO_DN_STATEORPROVINCENAME
public static final int SSL_INFO_DN_LOCALITYNAME
public static final int SSL_INFO_DN_ORGANIZATIONNAME
public static final int SSL_INFO_DN_ORGANIZATIONALUNITNAME
public static final int SSL_INFO_DN_COMMONNAME
public static final int SSL_INFO_DN_TITLE
public static final int SSL_INFO_DN_INITIALS
public static final int SSL_INFO_DN_GIVENNAME
public static final int SSL_INFO_DN_SURNAME
public static final int SSL_INFO_DN_DESCRIPTION
public static final int SSL_INFO_DN_UNIQUEIDENTIFIER
public static final int SSL_INFO_DN_EMAILADDRESS
public static final int SSL_INFO_CLIENT_M_VERSION
public static final int SSL_INFO_CLIENT_M_SERIAL
public static final int SSL_INFO_CLIENT_V_START
public static final int SSL_INFO_CLIENT_V_END
public static final int SSL_INFO_CLIENT_A_SIG
public static final int SSL_INFO_CLIENT_A_KEY
public static final int SSL_INFO_CLIENT_CERT
public static final int SSL_INFO_CLIENT_V_REMAIN
public static final int SSL_INFO_SERVER_M_VERSION
public static final int SSL_INFO_SERVER_M_SERIAL
public static final int SSL_INFO_SERVER_V_START
public static final int SSL_INFO_SERVER_V_END
public static final int SSL_INFO_SERVER_A_SIG
public static final int SSL_INFO_SERVER_A_KEY
public static final int SSL_INFO_SERVER_CERT
public static final int SSL_INFO_CLIENT_CERT_CHAIN
public static final long SSL_SESS_CACHE_OFF
public static final long SSL_SESS_CACHE_SERVER
public static final int SSL_SELECTOR_FAILURE_NO_ADVERTISE
public static final int SSL_SELECTOR_FAILURE_CHOOSE_MY_LAST_PROTOCOL
public static final int SSL_SENT_SHUTDOWN
public static final int SSL_RECEIVED_SHUTDOWN
public static final int SSL_ERROR_NONE
public static final int SSL_ERROR_SSL
public static final int SSL_ERROR_WANT_READ
public static final int SSL_ERROR_WANT_WRITE
public static final int SSL_ERROR_WANT_X509_LOOKUP
public static final int SSL_ERROR_SYSCALL
public static final int SSL_ERROR_ZERO_RETURN
public static final int SSL_ERROR_WANT_CONNECT
public static final int SSL_ERROR_WANT_ACCEPT
public static int version()
public static java.lang.String versionString()
public static int initialize(java.lang.String engine)
engine - Support for external a Crypto Device ("engine"),
usually
a hardware accelerator card for crypto operations.public static int fipsModeGet()
throws java.lang.Exception
0 if OpenSSL is not
in FIPS mode, 1 if OpenSSL is in FIPS Mode.java.lang.Exception - If tcnative was not compiled with FIPS Mode available.public static int fipsModeSet(int mode)
throws java.lang.Exception
mode - 1 - enable, 0 - disablejava.lang.Exception - If tcnative was not compiled with FIPS Mode available,
or if FIPS_mode_set() call returned an error value.@Deprecated public static boolean randLoad(java.lang.String filename)
filename - Filename containing random data.
If null the default file will be tested.
The seed file is $RANDFILE if that environment variable is
set, $HOME/.rnd otherwise.
In case both files are unavailable builtin
random seed generator is used.true if the operation was successful@Deprecated public static boolean randSave(java.lang.String filename)
filename which can be used to initialize the PRNG
by calling randLoad in a later session.filename - Filename to save the datatrue if the operation was successful@Deprecated
public static boolean randMake(java.lang.String filename,
int len,
boolean base64)
filename - Filename to save the datalen - The length of random sequence in bytesbase64 - Output the data in Base64 encoded formattrue if the operation was successfulpublic static void randSet(java.lang.String filename)
filename - Filename to use.
If set it will be used for SSL initialization
and all contexts where explicitly not set.@Deprecated
public static long newBIO(long pool,
BIOCallback callback)
throws java.lang.Exception
pool - The pool to use.callback - BIOCallback to usejava.lang.Exception - An error occurred@Deprecated public static int closeBIO(long bio)
bio - BIO to close and destroy.@Deprecated public static void setPasswordCallback(PasswordCallback callback)
callback - PasswordCallback implementation to use.@Deprecated public static void setPassword(java.lang.String password)
password - Password to use.@Deprecated public static java.lang.String getLastError()
@Deprecated public static boolean hasOp(int op)
true if and only if op=
SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION and tcnative
supports that flag.op - Bitwise-OR of all SSL_OP_* to test.public static int getHandshakeCount(long ssl)
ssl - SSL pointerpublic static long newSSL(long ctx,
boolean server)
ctx - Server or Client context to use.server - if true configure SSL instance to use accept handshake routines
if false configure SSL instance to use connect handshake routines@Deprecated
public static void setBIO(long ssl,
long rbio,
long wbio)
ssl - SSL pointer (SSL *)rbio - read BIO pointer (BIO *)wbio - write BIO pointer (BIO *)@Deprecated
public static int getError(long ssl,
int ret)
ssl - SSL pointer (SSL *)ret - TLS/SSL I/O return valuepublic static int pendingWrittenBytesInBIO(long bio)
bio - BIO pointer (BIO *)public static int pendingReadableBytesInSSL(long ssl)
ssl - SSL pointer (SSL *)public static int writeToBIO(long bio,
long wbuf,
int wlen)
bio - BIO pointerwbuf - Buffer pointerwlen - Write lengthpublic static int readFromBIO(long bio,
long rbuf,
int rlen)
bio - BIO pointerrbuf - Buffer pointerrlen - Read lengthpublic static int writeToSSL(long ssl,
long wbuf,
int wlen)
ssl - the SSL instance (SSL *)wbuf - Buffer pointerwlen - Write lengthpublic static int readFromSSL(long ssl,
long rbuf,
int rlen)
ssl - the SSL instance (SSL *)rbuf - Buffer pointerrlen - Read lengthpublic static int getShutdown(long ssl)
ssl - the SSL instance (SSL *)@Deprecated
public static void setShutdown(long ssl,
int mode)
ssl - the SSL instance (SSL *)mode - Shutdown modepublic static void freeSSL(long ssl)
ssl - the SSL instance (SSL *)public static long makeNetworkBIO(long ssl)
ssl - the SSL instance (SSL *)public static void freeBIO(long bio)
bio - BIO pointerpublic static int shutdownSSL(long ssl)
ssl - the SSL instance (SSL *)public static int getLastErrorNumber()
public static java.lang.String getCipherForSSL(long ssl)
ssl - the SSL instance (SSL *)public static java.lang.String getVersion(long ssl)
ssl - the SSL instance (SSL *)public static int doHandshake(long ssl)
ssl - the SSL instance (SSL *)public static int renegotiate(long ssl)
ssl - the SSL instance (SSL *)public static int renegotiatePending(long ssl)
ssl - the SSL instance (SSL *)public static int verifyClientPostHandshake(long ssl)
ssl - the SSL instance (SSL *)public static int getPostHandshakeAuthInProgress(long ssl)
ssl - the SSL instance (SSL *)public static int isInInit(long ssl)
ssl - the SSL instance (SSL *)@Deprecated public static java.lang.String getNextProtoNegotiated(long ssl)
ssl - the SSL instance (SSL *)public static java.lang.String getAlpnSelected(long ssl)
ssl - the SSL instance (SSL *)public static byte[][] getPeerCertChain(long ssl)
null if non was send.ssl - the SSL instance (SSL *)public static byte[] getPeerCertificate(long ssl)
null if non was send.ssl - the SSL instance (SSL *)public static java.lang.String getErrorString(long errorNumber)
errorNumber.errorNumber - The error codepublic static long getTime(long ssl)
ssl - the SSL instance (SSL *)public static void setVerify(long ssl,
int level,
int depth)
SSL_CVERIFY_NONE - No client Certificate is required at all
SSL_CVERIFY_OPTIONAL - The client may present a valid Certificate
SSL_CVERIFY_REQUIRE - The client has to present a valid Certificate
SSL_CVERIFY_OPTIONAL_NO_CA - The client may present a valid Certificate
but it need not to be (successfully) verifiable
setCACertificatePath, etc.ssl - the SSL instance (SSL *)level - Type of Client Certificate verification.depth - Maximum depth of CA Certificates in Client Certificate
verification.public static void setOptions(long ssl,
int options)
ssl - the SSL instance (SSL *)options - See SSL.SSL_OP_* for option flags.public static int getOptions(long ssl)
ssl - the SSL instance (SSL *)public static java.lang.String[] getCiphers(long ssl)
ssl - the SSL instance (SSL *)public static boolean setCipherSuites(long ssl,
java.lang.String ciphers)
throws java.lang.Exception
ssl - the SSL instance (SSL *)ciphers - an SSL cipher specificationtrue if the operation was successfuljava.lang.Exception - An error occurredpublic static byte[] getSessionId(long ssl)
ssl - the SSL instance (SSL *)Copyright © 2000-2024 Apache Software Foundation.
Apache Tomcat, Tomcat, Apache, the Apache Tomcat logo and the Apache logo are either registered trademarks or trademarks of the Apache Software Foundation.