当前位置: 首页>>代码示例>>Java>>正文


Java KeyManagerFactory.getInstance方法代码示例

本文整理汇总了Java中javax.net.ssl.KeyManagerFactory.getInstance方法的典型用法代码示例。如果您正苦于以下问题:Java KeyManagerFactory.getInstance方法的具体用法?Java KeyManagerFactory.getInstance怎么用?Java KeyManagerFactory.getInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.net.ssl.KeyManagerFactory的用法示例。


在下文中一共展示了KeyManagerFactory.getInstance方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: MusicWebSocketSecureServer

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
public MusicWebSocketSecureServer(int port, String keystorepath, String keystorepassword, InetAddress ip) {
    super(port, ip);

    try {
        SSLContext sslContext = SSLContext.getInstance("TLS");
        char ksPassword[] = keystorepassword.toCharArray();
        if (!keystorepath.equals("")) {
            KeyStore ks = KeyStore.getInstance("JKS");
            ks.load(new FileInputStream(new File(keystorepath)), ksPassword);

            KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
            kmf.init(ks, ksPassword);
            TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
            tmf.init(ks);

            sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
        } else {
            sslContext.init(null, null, null);
        }
        this.setWebSocketFactory(new DefaultSSLWebSocketServerFactory(sslContext));
    } catch (Exception e) {
        com.gmt2001.Console.out.println("Secure EventSocketServer failed: " + e);
        e.printStackTrace();
    }
}
 
开发者ID:GloriousEggroll,项目名称:quorrabot,代码行数:26,代码来源:MusicWebSocketSecureServer.java

示例2: createSslContext

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
/**
 * Creates a SSLContext instance using the given information.
 *
 * @param keystore the full path to the keystore
 * @param keystorePasswd the keystore password
 * @param keystoreType the type of keystore (e.g., PKCS12, JKS)
 * @param protocol the protocol to use for the SSL connection
 *
 * @return a SSLContext instance
 * @throws KeyStoreException if any issues accessing the keystore
 * @throws IOException for any problems loading the keystores
 * @throws NoSuchAlgorithmException if an algorithm is found to be used but is unknown
 * @throws CertificateException if there is an issue with the certificate
 * @throws UnrecoverableKeyException if the key is insufficient
 * @throws KeyManagementException if unable to manage the key
 */
public static SSLContext createSslContext(
    final String keystore, final char[] keystorePasswd, final char[] keyPasswd, final String keystoreType, final String protocol)
        throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException,
        UnrecoverableKeyException, KeyManagementException {

    // prepare the keystore
    final KeyStore keyStore = KeyStoreUtils.getKeyStore(keystoreType);
    try (final InputStream keyStoreStream = new FileInputStream(keystore)) {
        keyStore.load(keyStoreStream, keystorePasswd);
    }
    final KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    if (keyPasswd == null) {
        keyManagerFactory.init(keyStore, keystorePasswd);
    } else {
        keyManagerFactory.init(keyStore, keyPasswd);
    }

    // initialize the ssl context
    final SSLContext ctx = SSLContext.getInstance(protocol);
    ctx.init(keyManagerFactory.getKeyManagers(), new TrustManager[0], new SecureRandom());

    return ctx;

}
 
开发者ID:apache,项目名称:nifi-registry,代码行数:41,代码来源:SslContextFactory.java

示例3: upgradeToTls

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
private void upgradeToTls(Socket socket) throws KeyStoreException, IOException, NoSuchAlgorithmException,
        CertificateException, UnrecoverableKeyException, KeyManagementException {

    KeyStore keyStore = keyStoreProvider.getKeyStore();

    String defaultAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
    KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(defaultAlgorithm);
    keyManagerFactory.init(keyStore, keyStoreProvider.getPassword());

    SSLContext sslContext = SSLContext.getInstance("TLS");
    sslContext.init(keyManagerFactory.getKeyManagers(), null, null);
    SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();

    SSLSocket sslSocket = (SSLSocket) sslSocketFactory.createSocket(
            socket, socket.getInetAddress().getHostAddress(), socket.getPort(), true);
    sslSocket.setUseClientMode(false);
    sslSocket.startHandshake();

    input = Okio.buffer(Okio.source(sslSocket.getInputStream()));
    output = Okio.buffer(Okio.sink(sslSocket.getOutputStream()));
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:22,代码来源:MockPop3Server.java

示例4: getTrustManagerFactory

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
@Override
public Pair<TrustManagerFactory, KeyManagerFactory> getTrustManagerFactory() {
    try {
        KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
        trustStore.load(null);
        InputStream stream = this.getAssets().open("server.crt");
        BufferedInputStream bis = new BufferedInputStream(stream);
        CertificateFactory cf = CertificateFactory.getInstance("X.509");
        while (bis.available() > 0) {
            Certificate cert = cf.generateCertificate(bis);
            trustStore.setCertificateEntry("cert" + bis.available(), cert);
        }
        KeyManagerFactory kmfactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
        kmfactory.init(trustStore, "1234".toCharArray());
        TrustManagerFactory tmf=TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
        tmf.init(trustStore);
        return new Pair<>(tmf, kmfactory);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
 
开发者ID:rctl,项目名称:CryptoVoice,代码行数:23,代码来源:Main.java

示例5: getSSLSocketFactory

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
/**
 * 获得SSLSocektFactory
 * 
 * @param password 密码
 * @param keyStorePath 密钥库路径
 * @param trustStorePath 信任库路径
 * @return SSLSocketFactory
 * @throws Exception
 */
private static SSLSocketFactory getSSLSocketFactory(String password, String keyStorePath, String trustStorePath)
		throws Exception {
	// 实例化密钥库
	KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
	// 获得密钥库
	KeyStore keyStore = getKeyStore(keyStorePath, password);
	// 初始化密钥工厂
	keyManagerFactory.init(keyStore, password.toCharArray());
	// 实例化信任库
	TrustManagerFactory trustManagerFactory = TrustManagerFactory
			.getInstance(TrustManagerFactory.getDefaultAlgorithm());
	// 获得信任库
	KeyStore trustStore = getKeyStore(trustStorePath, password);
	// 初始化信任库
	trustManagerFactory.init(trustStore);
	// 实例化SSL上下文
	SSLContext ctx = SSLContext.getInstance(PROTOCOL);
	// 初始化SSL上下文
	ctx.init(keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), new SecureRandom());
	// 获得SSLSocketFactory
	return ctx.getSocketFactory();

}
 
开发者ID:iBase4J,项目名称:iBase4J-Common,代码行数:33,代码来源:HTTPSCoder.java

示例6: makeSSLSocketFactory

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
/**
 * Creates an SSLSocketFactory for HTTPS. Pass a KeyStore resource with your
 * certificate and passphrase
 */
public static SSLServerSocketFactory makeSSLSocketFactory(String keyAndTrustStoreClasspathPath, char[] passphrase) throws IOException {
    try {
        KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
        InputStream keystoreStream = NanoHTTPD.class.getResourceAsStream(keyAndTrustStoreClasspathPath);

        if (keystoreStream == null) {
            throw new IOException("Unable to load keystore from classpath: " + keyAndTrustStoreClasspathPath);
        }

        keystore.load(keystoreStream, passphrase);
        KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
        keyManagerFactory.init(keystore, passphrase);
        return makeSSLSocketFactory(keystore, keyManagerFactory);
    } catch (Exception e) {
        throw new IOException(e.getMessage());
    }
}
 
开发者ID:xm0625,项目名称:VBrowser-Android,代码行数:22,代码来源:NanoHTTPD.java

示例7: SslNetworkLayer

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
public SslNetworkLayer(
		SipStackImpl sipStack,
        String trustStoreFile,
        String keyStoreFile,
        char[] keyStorePassword,
        char[] trustStorePassword,
        String keyStoreType, String trustStoreType) throws GeneralSecurityException, FileNotFoundException, IOException
{
    SSLContext sslContext;
    sslContext = SSLContext.getInstance("TLS");
    String algorithm = KeyManagerFactory.getDefaultAlgorithm();
    TrustManagerFactory tmFactory = TrustManagerFactory.getInstance(algorithm);
    KeyManagerFactory kmFactory = KeyManagerFactory.getInstance(algorithm);
    SecureRandom secureRandom   = new SecureRandom();
    secureRandom.nextInt();
    KeyStore keyStore = KeyStore.getInstance(
         keyStoreType != null ? keyStoreType : KeyStore.getDefaultType());
    KeyStore trustStore = KeyStore.getInstance(
    		trustStoreType != null ? trustStoreType : KeyStore.getDefaultType());
    keyStore.load(new FileInputStream(keyStoreFile), keyStorePassword);
    trustStore.load(new FileInputStream(trustStoreFile), trustStorePassword);
    tmFactory.init(trustStore);
    kmFactory.init(keyStore, keyStorePassword);
    if(sipStack.getClientAuth() == ClientAuthType.DisabledAll) {
    	if (logger.isLoggingEnabled(LogWriter.TRACE_DEBUG)) {
            logger.logDebug(
                    "ClientAuth " + sipStack.getClientAuth()  +  " bypassing all cert validations");
        }
    	sslContext.init(null, trustAllCerts, secureRandom);
    } else {
    	if (logger.isLoggingEnabled(LogWriter.TRACE_DEBUG)) {
            logger.logDebug(
                    "ClientAuth " + sipStack.getClientAuth());
        }
    	sslContext.init(kmFactory.getKeyManagers(), tmFactory.getTrustManagers(), secureRandom);
    }
    sslServerSocketFactory = sslContext.getServerSocketFactory();        
    sslSocketFactory = sslContext.getSocketFactory();
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:40,代码来源:SslNetworkLayer.java

示例8: getKeyManagers

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
/**
 * Gets the initialized key managers.
 */
protected KeyManager[] getKeyManagers(String keystoreType,
                                      String keystoreProvider,
                                      String algorithm,
                                      String keyAlias)
            throws Exception {

    KeyManager[] kms = null;

    String keystorePass = getKeystorePassword();

    KeyStore ks = getKeystore(keystoreType, keystoreProvider, keystorePass);
    if (keyAlias != null && !ks.isKeyEntry(keyAlias)) {
        throw new IOException(
                sm.getString("jsse.alias_no_key_entry", keyAlias));
    }

    KeyManagerFactory kmf = KeyManagerFactory.getInstance(algorithm);
    String keyPass = endpoint.getKeyPass();
    if (keyPass == null) {
        keyPass = keystorePass;
    }
    kmf.init(ks, keyPass.toCharArray());

    kms = kmf.getKeyManagers();
    if (keyAlias != null) {
        String alias = keyAlias;
        if (JSSESocketFactory.defaultKeystoreType.equals(keystoreType)) {
            alias = alias.toLowerCase(Locale.ENGLISH);
        }
        for(int i=0; i<kms.length; i++) {
            kms[i] = new JSSEKeyManager((X509KeyManager)kms[i], alias);
        }
    }

    return kms;
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:40,代码来源:JSSESocketFactory.java

示例9: createSSLContext

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
private static SSLContext createSSLContext(
        String algorithm,
        final KeyStore keystore,
        final String keystorePassword,
        final KeyStore truststore,
        final SecureRandom random,
        final TrustStrategy trustStrategy)
            throws NoSuchAlgorithmException, KeyStoreException, UnrecoverableKeyException, KeyManagementException {
    if (algorithm == null) {
        algorithm = TLS;
    }
    KeyManagerFactory kmfactory = KeyManagerFactory.getInstance(
            KeyManagerFactory.getDefaultAlgorithm());
    kmfactory.init(keystore, keystorePassword != null ? keystorePassword.toCharArray(): null);
    KeyManager[] keymanagers =  kmfactory.getKeyManagers();
    TrustManagerFactory tmfactory = TrustManagerFactory.getInstance(
            TrustManagerFactory.getDefaultAlgorithm());
    tmfactory.init(truststore);
    TrustManager[] trustmanagers = tmfactory.getTrustManagers();
    if (trustmanagers != null && trustStrategy != null) {
        for (int i = 0; i < trustmanagers.length; i++) {
            TrustManager tm = trustmanagers[i];
            if (tm instanceof X509TrustManager) {
                trustmanagers[i] = new TrustManagerDecorator(
                        (X509TrustManager) tm, trustStrategy);
            }
        }
    }

    SSLContext sslcontext = SSLContext.getInstance(algorithm);
    sslcontext.init(keymanagers, trustmanagers, random);
    return sslcontext;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:34,代码来源:SSLSocketFactory.java

示例10: getSSLContext

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
/**
 * Trust-all SSL context.
 * Optionally specify certificate file to create the keystore from.
 *
 * @param certFileName
 * @param certPassword
 * @param protocol e.g. TLS, TLSv1.2
 * @return
 */
public static SSLContext getSSLContext( String certFileName, String certPassword, String protocol ) {

    SSLContext sslContext = null;
    char[] passphrase = null;
    if (certPassword != null) {
        passphrase = certPassword.toCharArray();
    }

    try {
        // First initialize the key and trust material.
        KeyStore ksKeys = KeyStore.getInstance("PKCS12");
        ksKeys.load(null);
        if (certFileName != null && certPassword != null) {
            createKeyStoreFromPemKey(certFileName, certPassword, ksKeys);
        }

        // KeyManagers decide which key material to use.
        KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
        kmf.init(ksKeys, passphrase);

        // TrustManagers decide whether to allow connections.
        TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");

        // Create a trust-all trust manager
        TrustManager[] trustManagers = new TrustManager[]{ new SslUtils.DefaultTrustManager() };
        tmf.init(ksKeys);

        sslContext = SSLContext.getInstance(protocol);
        sslContext.init(kmf.getKeyManagers(), trustManagers, null);
    } catch (Exception e) {
        throw new RuntimeException("Error initializing ssl context", e);
    }

    return sslContext;
}
 
开发者ID:Axway,项目名称:ats-framework,代码行数:45,代码来源:SslUtils.java

示例11: createKeyManagers

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
public static KeyManager[] createKeyManagers(String clientCertificate) throws GeneralSecurityException, IOException {
    final KeyStore clientKs = createKeyStore("amq-client", clientCertificate);

    // create Key Manager
    KeyManagerFactory kmFactory = KeyManagerFactory.getInstance("PKIX");
    kmFactory.init(clientKs, null);
    return kmFactory.getKeyManagers();
}
 
开发者ID:syndesisio,项目名称:syndesis,代码行数:9,代码来源:ActiveMQUtil.java

示例12: initChannel

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
@Override
protected void initChannel(SocketChannel channel) throws Exception {
    TrustManagerFactory tmFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
    KeyStore ts = KeyStore.getInstance("JKS");
    ts.load(new FileInputStream(tsLocation), tsPwd);
    tmFactory.init(ts);

    KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    KeyStore ks = KeyStore.getInstance("JKS");
    ks.load(new FileInputStream(ksLocation), ksPwd);
    kmf.init(ks, ksPwd);

    SSLContext serverContext = SSLContext.getInstance("TLS");
    serverContext.init(kmf.getKeyManagers(), tmFactory.getTrustManagers(), null);

    SSLEngine serverSslEngine = serverContext.createSSLEngine();

    serverSslEngine.setNeedClientAuth(true);
    serverSslEngine.setUseClientMode(false);
    serverSslEngine.setEnabledProtocols(serverSslEngine.getSupportedProtocols());
    serverSslEngine.setEnabledCipherSuites(serverSslEngine.getSupportedCipherSuites());
    serverSslEngine.setEnableSessionCreation(true);

    channel.pipeline().addLast("ssl", new io.netty.handler.ssl.SslHandler(serverSslEngine))
            .addLast("encoder", encoder)
            .addLast("decoder", new MessageDecoder())
            .addLast("handler", dispatcher);
}
 
开发者ID:shlee89,项目名称:athena,代码行数:29,代码来源:NettyMessagingManager.java

示例13: getKeyManager

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
/** Devuelve un KeyManager a utilizar cuando se desea deshabilitar las comprobaciones de certificados en las conexiones SSL.
 * @return KeyManager[] Se genera un KeyManager[] utilizando el keystore almacenado en las propiedades del sistema.
 * @throws KeyStoreException Si no se puede cargar el KeyStore SSL.
 * @throws NoSuchAlgorithmException Si el JRE no soporta alg&uacute;n algoritmo necesario.
 * @throws CertificateException Si los certificados del KeyStore SSL son inv&aacute;lidos.
 * @throws IOException Si hay errores en la carga del fichero KeyStore SSL.
 * @throws UnrecoverableKeyException Si una clave del KeyStore SSL es inv&aacute;lida.
 * @throws NoSuchProviderException Si ocurre un error al recuperar la instancia del KeyStore. */
private static KeyManager[] getKeyManager() throws KeyStoreException,
                                                   NoSuchAlgorithmException,
                                                   CertificateException,
                                                   IOException,
                                                   UnrecoverableKeyException,
                                                   NoSuchProviderException {
	final String keyStore = System.getProperty(KEYSTORE);
	final String keyStorePassword = System.getProperty(KEYSTORE_PASS);
	final String keyStoreType = System.getProperty(KEYSTORE_TYPE);
	if (keyStore == null || keyStore.isEmpty()) {
		return null;
	}
	final File f = new File(keyStore);
	if (!f.isFile() || !f.canRead()) {
		LOGGER.warning("El KeyStore SSL no existe o no es legible: " + f.getAbsolutePath()); //$NON-NLS-1$
		return null;
	}
	final KeyStore keystore = KeyStore.getInstance(
		keyStoreType != null && !keyStoreType.isEmpty() ? keyStoreType : KEYSTORE_DEFAULT_TYPE
	);
	final InputStream fis = new FileInputStream(f);
	keystore.load(
		fis,
		keyStorePassword != null ? keyStorePassword.toCharArray() : null
	);
	fis.close();
	final KeyManagerFactory keyFac = KeyManagerFactory.getInstance(KEYMANAGER_INSTANCE);
	keyFac.init(
		keystore,
		keyStorePassword != null ? keyStorePassword.toCharArray() : null
	);
	return keyFac.getKeyManagers();
}
 
开发者ID:MiFirma,项目名称:mi-firma-android,代码行数:42,代码来源:UrlHttpManagerImpl.java

示例14: createSSLContext

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
private static SSLContext createSSLContext(String algorithm, final KeyStore keystore, final String keyStorePassword, final SecureRandom random, final TrustStrategy trustStrategy) throws NoSuchAlgorithmException, KeyStoreException, UnrecoverableKeyException, KeyManagementException
{
	if (algorithm == null)
	{
		algorithm = TLS;
	}

	KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
	keyManagerFactory.init(keystore, keyStorePassword != null ? keyStorePassword.toCharArray() : null);
	KeyManager[] keyManagers = keyManagerFactory.getKeyManagers();
	TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
	trustManagerFactory.init(keystore);

	TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();

	if (trustManagers != null && trustStrategy != null)
	{
		for (int i = 0; i < trustManagers.length; i++)
		{
			TrustManager tm = trustManagers[i];

			if (tm instanceof X509TrustManager)
			{
				trustManagers[i] = new TrustManagerDecorator((X509TrustManager) tm, trustStrategy);
			}
		}
	}

	SSLContext sslcontext = SSLContext.getInstance(algorithm);
	sslcontext.init(keyManagers, trustManagers, random);

	return sslcontext;
}
 
开发者ID:ultrasonic,项目名称:ultrasonic,代码行数:34,代码来源:SSLSocketFactory.java

示例15: getUser1KeyManagers

import javax.net.ssl.KeyManagerFactory; //导入方法依赖的package包/类
protected static KeyManager[] getUser1KeyManagers() throws Exception {
    KeyManagerFactory kmf = KeyManagerFactory.getInstance(
            KeyManagerFactory.getDefaultAlgorithm());
    kmf.init(getKeyStore("org/apache/tomcat/util/net/user1.jks"),
            "changeit".toCharArray());
    return kmf.getKeyManagers();
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:8,代码来源:TesterSupport.java


注:本文中的javax.net.ssl.KeyManagerFactory.getInstance方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。