有什么方法可以通过编程将证书和私钥直接加载到SSLServerSocket(Java)?

| 我来自\'C \'背景。我正在尝试分析如何编写Java SSL Server。 因此,到目前为止,我发现的示例都涉及将证书和私钥加载到密钥存储区,以及以编程方式将密钥存储区与SSLContext关联,然后从该实例创建SSLServerSocket。 但是,是否有任何方法可以直接提及SSLServerSocket应该使用哪个证书?另外,即使我使用密钥库,并且有多个证书和密钥,如何向SSLServerSocket指定应使用哪个证书和密钥? 任何示例链接都将有所帮助。     
已邀请:
        就像我在评论中说的那样,在回答您之前的一个问题时,您需要使用ѭ0来完成此操作。 有多种方法可以做到这一点。 jSSLutils是一个可以使其更加方便的库(但您也可以手动进行)。有一个使用FixedServerAliasKeyManager的示例。最简单的方法之一是使用如下所示的内容:
X509SSLContextFactory sslContextFactory = new X509SSLContextFactory();
// By default, this would use the keystore passed with the usual system properties.

sslContextFactory.setKeyManagerWrapper(
    new FixedServerAliasKeyManager.Wrapper(\"the-alias-you-want\"));
// You could read the alias name from a custom system property, for example.

SSLContext sslContext = sslContextFactory.buildSSLContext(\"TLS\");
SSLServerSocketFactory sslServerSocketFactory = sslContext.getServerSocketFactory();
    

要回复问题请先登录注册