javax.net.ssl.SSLContext.getInstance()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.6k)|赞(0)|评价(0)|浏览(528)

本文整理了Java中javax.net.ssl.SSLContext.getInstance()方法的一些代码示例,展示了SSLContext.getInstance()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。SSLContext.getInstance()方法的具体详情如下:
包路径:javax.net.ssl.SSLContext
类名称:SSLContext
方法名:getInstance

SSLContext.getInstance介绍

[英]Creates a new SSLContext instance for the specified protocol.
[中]为指定的协议创建新的SSLContext实例。

代码示例

代码示例来源:origin: square/okhttp

/**
 * Returns the VM's default SSL socket factory, using {@code trustManager} for trusted root
 * certificates.
 */
private SSLSocketFactory defaultSslSocketFactory(X509TrustManager trustManager)
  throws NoSuchAlgorithmException, KeyManagementException {
 SSLContext sslContext = SSLContext.getInstance("TLS");
 sslContext.init(null, new TrustManager[] { trustManager }, null);
 return sslContext.getSocketFactory();
}

代码示例来源:origin: square/okhttp

private void processHandshakeFailure(Socket raw) throws Exception {
 SSLContext context = SSLContext.getInstance("TLS");
 context.init(null, new TrustManager[] {UNTRUSTED_TRUST_MANAGER}, new SecureRandom());
 SSLSocketFactory sslSocketFactory = context.getSocketFactory();
 SSLSocket socket = (SSLSocket) sslSocketFactory.createSocket(
   raw, raw.getInetAddress().getHostAddress(), raw.getPort(), true);
 try {
  socket.startHandshake(); // we're testing a handshake failure
  throw new AssertionError();
 } catch (IOException expected) {
 }
 socket.close();
}

代码示例来源:origin: square/okhttp

private static SSLContext sslContext(String keystoreFile, String password)
   throws GeneralSecurityException, IOException {
  KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
  try (InputStream in = new FileInputStream(keystoreFile)) {
   keystore.load(in, password.toCharArray());
  }
  KeyManagerFactory keyManagerFactory =
    KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
  keyManagerFactory.init(keystore, password.toCharArray());

  TrustManagerFactory trustManagerFactory =
    TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
  trustManagerFactory.init(keystore);

  SSLContext sslContext = SSLContext.getInstance("TLS");
  sslContext.init(
    keyManagerFactory.getKeyManagers(),
    trustManagerFactory.getTrustManagers(),
    new SecureRandom());

  return sslContext;
 }
}

代码示例来源:origin: stackoverflow.com

OkHttpClient client = new OkHttpClient();
KeyStore keyStore = readKeyStore(); //your method to obtain KeyStore
SSLContext sslContext = SSLContext.getInstance("SSL");
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
trustManagerFactory.init(keyStore);
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
keyManagerFactory.init(keyStore, "keystore_pass".toCharArray());
sslContext.init(keyManagerFactory.getKeyManagers(),trustManagerFactory.getTrustManagers(), new SecureRandom());
client.setSslSocketFactory(sslContext.getSocketFactory());

代码示例来源:origin: cSploit/android

private SSLServerSocket getSSLSocket() throws IOException, KeyStoreException, CertificateException, NoSuchAlgorithmException, UnrecoverableKeyException, KeyManagementException{
 KeyStore keyStore = KeyStore.getInstance("PKCS12");
 keyStore.load(mContext.getAssets().open(KEYSTORE_FILE), KEYSTORE_PASS.toCharArray());
 KeyManagerFactory keyMan = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
 keyMan.init(keyStore, KEYSTORE_PASS.toCharArray());
 SSLContext sslContext = SSLContext.getInstance("TLS");
 sslContext.init(keyMan.getKeyManagers(), null, null);
 SSLServerSocketFactory sslFactory = sslContext.getServerSocketFactory();
 return (SSLServerSocket) sslFactory.createServerSocket(mPort, BACKLOG, mAddress);
}

代码示例来源:origin: google/data-transfer-project

private SSLSocketFactory getSocketFactory() throws GeneralSecurityException, IOException {
 KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
 KeyStore keyStore = KeyStore.getInstance("PKCS12");
 InputStream keyInput = new FileInputStream(pathToPkcs12File);
 keyStore.load(keyInput, password.toCharArray());
 keyInput.close();
 keyManagerFactory.init(keyStore, password.toCharArray());
 SSLContext context = SSLContext.getInstance("TLS");
 context.init(keyManagerFactory.getKeyManagers(), null, new SecureRandom());
 return context.getSocketFactory();
}

代码示例来源:origin: stackoverflow.com

public static Client IgnoreSSLClient() throws Exception {
  SSLContext sslcontext = SSLContext.getInstance("TLS");
  sslcontext.init(null, new TrustManager[]{new X509TrustManager() {
    public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
    public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}
    public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }

  }}, new java.security.SecureRandom());
  return ClientBuilder.newBuilder().sslContext(sslcontext).hostnameVerifier((s1, s2) -> true).build();
}

代码示例来源:origin: code4craft/webmagic

private SSLContext createIgnoreVerifySSL() throws NoSuchAlgorithmException, KeyManagementException {
  // 实现一个X509TrustManager接口,用于绕过验证,不用修改里面的方法
  X509TrustManager trustManager = new X509TrustManager() {
    @Override
    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    }
    @Override
    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    }
    @Override
    public X509Certificate[] getAcceptedIssuers() {
      return null;
    }
    
  };
  
  SSLContext sc = SSLContext.getInstance("SSLv3");
  sc.init(null, new TrustManager[] { trustManager }, null);
  return sc;
}

代码示例来源:origin: stackoverflow.com

/* Load the keyStore that includes self-signed cert as a "trusted" entry. */
KeyStore keyStore = ... 
TrustManagerFactory tmf = 
 TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(keyStore);
SSLContext ctx = SSLContext.getInstance("TLS");
ctx.init(null, tmf.getTrustManagers(), null);
sslFactory = ctx.getSocketFactory();

代码示例来源:origin: redisson/redisson

keyManagerFactory = buildKeyManagerFactory(keyCertChain, key, keyPassword, keyManagerFactory);
SSLContext ctx = sslContextProvider == null ? SSLContext.getInstance(PROTOCOL)
  : SSLContext.getInstance(PROTOCOL, sslContextProvider);
ctx.init(keyManagerFactory == null ? null : keyManagerFactory.getKeyManagers(),
     trustManagerFactory == null ? null : trustManagerFactory.getTrustManagers(),
     null);

代码示例来源:origin: stackoverflow.com

TrustManagerFactory tmf = TrustManagerFactory
  .getInstance(TrustManagerFactory.getDefaultAlgorithm());
KeyStore ks = KeyStore.getInstance("JKS");
FileInputStream fis = new FileInputStream("/.../truststore.jks");
ks.load(fis, null);
// or ks.load(fis, "thepassword".toCharArray());
fis.close();

tmf.init(ks);

SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, tmf.getTrustManagers(), null);

代码示例来源:origin: SonarSource/sonarqube

SSLSocketFactory newFactory(TrustManager... managers) throws NoSuchAlgorithmException, KeyManagementException {
  SSLContext context = SSLContext.getInstance("TLS");
  context.init(null, managers, new SecureRandom());
  return context.getSocketFactory();
 }
}

代码示例来源:origin: ACRA/acra

@SuppressWarnings("WeakerAccess")
protected void configureHttps(@NonNull HttpsURLConnection connection) throws GeneralSecurityException {
  // Configure SSL
  final String algorithm = TrustManagerFactory.getDefaultAlgorithm();
  final TrustManagerFactory tmf = TrustManagerFactory.getInstance(algorithm);
  final KeyStore keyStore = KeyStoreHelper.getKeyStore(context, config);
  tmf.init(keyStore);
  final SSLContext sslContext = SSLContext.getInstance("TLS");
  sslContext.init(null, tmf.getTrustManagers(), null);
  connection.setSSLSocketFactory(sslContext.getSocketFactory());
}

代码示例来源:origin: apache/flume

private Optional<SSLContext> getSslContext() {
 if (sslEnabled) {
  try {
   KeyStore ks = KeyStore.getInstance(keystoreType);
   ks.load(new FileInputStream(keystore), keystorePassword.toCharArray());
   // can be set with "ssl.KeyManagerFactory.algorithm"
   String algorithm = KeyManagerFactory.getDefaultAlgorithm();
   // Set up key manager factory to use our key store
   KeyManagerFactory kmf = KeyManagerFactory.getInstance(algorithm);
   kmf.init(ks, keystorePassword.toCharArray());
   SSLContext serverContext = SSLContext.getInstance("TLS");
   serverContext.init(kmf.getKeyManagers(), null, null);
   return Optional.of(serverContext);
  } catch (Exception e) {
   throw new Error("Failed to initialize the server-side SSLContext", e);
  }
 } else {
  return Optional.empty();
 }
}

代码示例来源:origin: looly/hutool

/**
   * 构建SSLSocketFactory
   * @return SSLSocketFactory
   * @throws NoSuchAlgorithmException 无此算法
   * @throws KeyManagementException Key管理异常
   */
  public SSLSocketFactory build() throws NoSuchAlgorithmException, KeyManagementException{
    SSLContext sslContext = SSLContext.getInstance(protocol);
    sslContext.init(this.keyManagers, this.trustManagers, this.secureRandom);
    return sslContext.getSocketFactory();
  }
}

代码示例来源:origin: Javen205/IJPay

@Override
public String postSSL(String url, String data, String certPass, InputStream certFile) {
  okhttp3.RequestBody body = okhttp3.RequestBody.create(CONTENT_TYPE_FORM, data);
  okhttp3.Request request = new okhttp3.Request.Builder().url(url).post(body).build();
  InputStream inputStream = certFile;
  try {
    KeyStore clientStore = KeyStore.getInstance("PKCS12");
    char[] passArray = certPass.toCharArray();
    clientStore.load(inputStream, passArray);
    KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    kmf.init(clientStore, passArray);
    KeyManager[] kms = kmf.getKeyManagers();
    SSLContext sslContext = SSLContext.getInstance("TLSv1");
    sslContext.init(kms, null, new SecureRandom());
    @SuppressWarnings("deprecation")
    okhttp3.OkHttpClient httpsClient = new okhttp3.OkHttpClient().newBuilder()
        .connectTimeout(10, TimeUnit.SECONDS).writeTimeout(10, TimeUnit.SECONDS)
        .readTimeout(30, TimeUnit.SECONDS).sslSocketFactory(sslContext.getSocketFactory()).build();
    okhttp3.Response response = httpsClient.newCall(request).execute();
    if (!response.isSuccessful())
      throw new RuntimeException("Unexpected code " + response);
    return response.body().string();
  } catch (Exception e) {
    throw new RuntimeException(e);
  } finally {
    IOUtils.closeQuietly(inputStream);
  }
}

代码示例来源:origin: igniterealtime/Openfire

/**
 * Generates a new, initialized SSLContext instance that is suitable for connections that are created based on a
 * particular configuration.
 *
 * @return TrustManagers applicable to a connection that is established using the provided configuration.
 */
public synchronized SSLContext getSSLContext() throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException
{
  final SSLContext sslContext = SSLContext.getInstance("TLSv1");
  sslContext.init( getKeyManagers(), getTrustManagers(), new SecureRandom() );
  return sslContext;
}

代码示例来源:origin: aws/aws-sdk-java

private static SSLContext createSSLContext() throws IOException {
  try {
    SSLContext context = SSLContext.getInstance("TLS");
    context.init(null, new TrustManager[]{new TrustingX509TrustManager()}, null);
    return context;
  } catch (Exception e) {
    throw new IOException(e.getMessage(), e);
  }
}

代码示例来源:origin: redisson/redisson

SSLContext ctx = sslContextProvider == null ? SSLContext.getInstance(PROTOCOL)
  : SSLContext.getInstance(PROTOCOL, sslContextProvider);
ctx.init(keyManagerFactory.getKeyManagers(),
     trustManagerFactory == null ? null : trustManagerFactory.getTrustManagers(),
     null);

代码示例来源:origin: stackoverflow.com

InputStream is = new FileInputStream("cacert.crt");
// You could get a resource as a stream instead.

CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate caCert = (X509Certificate)cf.generateCertificate(is);

TrustManagerFactory tmf = TrustManagerFactory
  .getInstance(TrustManagerFactory.getDefaultAlgorithm());
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(null); // You don't need the KeyStore instance to come from a file.
ks.setCertificateEntry("caCert", caCert);

tmf.init(ks);

SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, tmf.getTrustManagers(), null);

相关文章