gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 09:48:10 26 4
gpt4 key购买 nike

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

到目前为止,我发现的示例都是关于加载证书和私有(private) keystore 以及以编程方式将 KeyStore 关联到 SSLContext,然后从中创建 SSLServerSocket。

但是,有什么方法可以直接提到SSLServerSocket应该使用哪个证书吗?此外,即使我使用 keystore 并且如果有多个证书和 key ,我如何向 SSLServerSocket 指定它应该使用哪一个?

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

最佳答案

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

有多种方法可以做到这一点。 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();

关于java - 有什么方法可以以编程方式直接将证书和私钥加载到 SSLServerSocket (Java)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6374273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com