本文整理汇总了Java中javax.net.ssl.SSLSocket.getEnabledProtocols方法的典型用法代码示例。如果您正苦于以下问题:Java SSLSocket.getEnabledProtocols方法的具体用法?Java SSLSocket.getEnabledProtocols怎么用?Java SSLSocket.getEnabledProtocols使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.net.ssl.SSLSocket
的用法示例。
在下文中一共展示了SSLSocket.getEnabledProtocols方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: supportedSpec
import javax.net.ssl.SSLSocket; //导入方法依赖的package包/类
/**
* Returns a copy of this that omits cipher suites and TLS versions not enabled by {@code
* sslSocket}.
*/
private ConnectionSpec supportedSpec(SSLSocket sslSocket, boolean isFallback) {
String[] cipherSuitesIntersection = cipherSuites != null
? intersect(CipherSuite.ORDER_BY_NAME, sslSocket.getEnabledCipherSuites(), cipherSuites)
: sslSocket.getEnabledCipherSuites();
String[] tlsVersionsIntersection = tlsVersions != null
? intersect(Util.NATURAL_ORDER, sslSocket.getEnabledProtocols(), tlsVersions)
: sslSocket.getEnabledProtocols();
// In accordance with https://tools.ietf.org/html/draft-ietf-tls-downgrade-scsv-00
// the SCSV cipher is added to signal that a protocol fallback has taken place.
String[] supportedCipherSuites = sslSocket.getSupportedCipherSuites();
int indexOfFallbackScsv = indexOf(
CipherSuite.ORDER_BY_NAME, supportedCipherSuites, "TLS_FALLBACK_SCSV");
if (isFallback && indexOfFallbackScsv != -1) {
cipherSuitesIntersection = concat(
cipherSuitesIntersection, supportedCipherSuites[indexOfFallbackScsv]);
}
return new Builder(this)
.cipherSuites(cipherSuitesIntersection)
.tlsVersions(tlsVersionsIntersection)
.build();
}
示例2: createSSLSocket
import javax.net.ssl.SSLSocket; //导入方法依赖的package包/类
private static TSocket createSSLSocket(SSLSocketFactory factory, String host,
int port, int timeout, List<String> excludeProtocols)
throws FlumeException {
try {
SSLSocket socket = (SSLSocket) factory.createSocket(host, port);
socket.setSoTimeout(timeout);
List<String> enabledProtocols = new ArrayList<String>();
for (String protocol : socket.getEnabledProtocols()) {
if (!excludeProtocols.contains(protocol)) {
enabledProtocols.add(protocol);
}
}
socket.setEnabledProtocols(enabledProtocols.toArray(new String[0]));
return new TSocket(socket);
} catch (Exception e) {
throw new FlumeException("Could not connect to " + host + " on port " + port, e);
}
}
示例3: supportedSpec
import javax.net.ssl.SSLSocket; //导入方法依赖的package包/类
private ConnectionSpec supportedSpec(SSLSocket sslSocket, boolean isFallback) {
String[] cipherSuitesIntersection;
String[] tlsVersionsIntersection;
if (this.cipherSuites != null) {
cipherSuitesIntersection = (String[]) Util.intersect(String.class, this.cipherSuites,
sslSocket.getEnabledCipherSuites());
} else {
cipherSuitesIntersection = sslSocket.getEnabledCipherSuites();
}
if (this.tlsVersions != null) {
tlsVersionsIntersection = (String[]) Util.intersect(String.class, this.tlsVersions,
sslSocket.getEnabledProtocols());
} else {
tlsVersionsIntersection = sslSocket.getEnabledProtocols();
}
if (isFallback && Util.contains(sslSocket.getSupportedCipherSuites(),
"TLS_FALLBACK_SCSV")) {
cipherSuitesIntersection = Util.concat(cipherSuitesIntersection, "TLS_FALLBACK_SCSV");
}
return new Builder(this).cipherSuites(cipherSuitesIntersection).tlsVersions
(tlsVersionsIntersection).build();
}