首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有什么方法可以通过编程的方式直接将证书和私钥加载到SSLServerSocket?

有没有什么方法可以通过编程的方式直接将证书和私钥加载到SSLServerSocket?
EN

Stack Overflow用户
提问于 2011-06-16 23:20:06
回答 1查看 1.7K关注 0票数 2

我的背景是“C”。我正在尝试分析如何编写Java SSL服务器。

到目前为止,我找到的示例都谈到了将证书和私有加载到密钥库,以及以编程方式将KeyStore关联到SSLContext,然后从它们创建SSLServerSocket。

但是,有没有什么方法可以直接提到SSLServerSocket应该使用哪个证书?此外,即使我使用密钥库,如果有多个证书和密钥,我如何向SSLServerSocket指定它应该使用哪个证书和密钥?

任何示例链接都会很有帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-17 03:07:33

正如我在评论中所说,在answer to one of your questions earlier中,您需要使用KeyManager来完成此操作。

有多种方法可以做到这一点。jSSLutils是一个可以使其更方便的库(但您也可以更手动地完成)。这里有一个关于FixedServerAliasKeyManager的例子。最简单的方法之一就是使用下面这样的代码:

代码语言:javascript
复制
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();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6374273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档