在创建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/