6

我正在寻找实现一个使用客户端证书身份验证的多线程 SSL 客户端,因此我需要为 SSLContext 提供一个 KeyStore。我需要在多个线程上执行此操作。使用 KeyStore 的一个实例是否安全?我自己不会修改密钥库,并且我假设 SSL 实现也不需要,因此该对象应该是有效的不可变的。

4

1 回答 1

2

一般来说,JCA 服务不是线程安全的,并且KeyStoreSpi不会对实现者强加任何线程安全要求。但是,如果您的密钥存储实际上是不可变的,并且您确保其初始化状态对所有线程都是可见的,那么就没有问题。例如,将 存储KeyStorevolatile变量中,或从类初始化程序中加载它(由于异常处理,这可能很棘手)。

于 2013-10-24T18:59:21.027 回答