在创建SSLContext的过程中,我遇到了这个Java代码段。我想知道init调用,其中指定了keyPass。如果KeyStore包含具有不同别名和不同密码的多个证书怎么办?

val keyStore = KeyStore.getInstance("jks")
keyStore.load(inputStream, "storePass")

val keyManagerFactory = KeyManagerFactory.getInstance("SunX509")
keyManagerFactory.init(keyStore, keyPass?)

val keyManagers = keyManagerFactory.getKeyManagers

val sslContext = SSLContext.getInstance("TLS")
sslContext.init(keyManagers, null, new SecureRandom)


如果keyStore包含cert1(别名:一个,密码:foo)和cert2(别名:两个,密码:bar),您将如何重写代码?也许我误会了一两件事:)

最佳答案

在仔细检查了文档并进行了一些谷歌搜索之后,似乎可以维护多个密钥库并将它们包装在定制的复合密钥管理器中,as the author of this blog post is doing

关于java - Javas KeyManagerFactory.init如何与多个键一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41765507/

10-13 04:20