mirrored from https://www.bouncycastle.org/repositories/bc-java
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathBCSSLEngine.java
More file actions
59 lines (47 loc) · 1.94 KB
/
BCSSLEngine.java
File metadata and controls
59 lines (47 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package org.bouncycastle.jsse;
import javax.net.ssl.SSLEngine;
/**
* A BCJSSE-specific interface to expose extended functionality on {@link javax.net.ssl.SSLEngine}
* implementations.
*/
public interface BCSSLEngine
{
String getApplicationProtocol();
BCApplicationProtocolSelector<SSLEngine> getBCHandshakeApplicationProtocolSelector();
void setBCHandshakeApplicationProtocolSelector(BCApplicationProtocolSelector<SSLEngine> selector);
void setBCSessionToResume(BCExtendedSSLSession session);
BCExtendedSSLSession getBCHandshakeSession();
BCExtendedSSLSession getBCSession();
/**
* Returns an accessor for extended SSL connection data. Unlike
* {@link BCSSLSocket#getConnection} this method does not block until handshaking is complete.
* Until the initial handshake has completed, this method returns <code>null</code>.
*
* @return A {@link BCSSLConnection} instance.
*/
BCSSLConnection getConnection();
String getHandshakeApplicationProtocol();
/**
* Returns a {@link BCSSLParameters} with properties reflecting the current configuration.
* @return the current {@link BCSSLParameters parameters}
*/
BCSSLParameters getParameters();
/**
* Sets parameters according to the properties in a {@link BCSSLParameters}.
* <p>
* Note that any properties set to null will be ignored, which will leave the corresponding
* settings unchanged.
* </p>
*
* @param parameters
* the {@link BCSSLParameters parameters} to set
* @throws IllegalArgumentException
* if the cipherSuites or protocols properties contain unsupported values
*/
void setParameters(BCSSLParameters parameters);
/**
* Returns the name of the negotiated group for a TLS 1.3 connection. Other TLS versions will always return "UNKNOWN".
* @return the name of the negotiated group
*/
String getNegotiatedGroup();
}