仅在方法范围内使用特定的 Java 安全提供程序
Using a specific Java security provider only in the scope of a method
所以我正在寻找仅在函数范围内使用安全提供程序的方法。我已经可以通过添加这两行来做到这一点:(假设 BouncyCastle 是提供者)
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC");
// do some stuff with converter
Security.removeProvider("BC");
所以我只想对 JcaPEMKeyConverter 使用 BC,然后对其余部分使用默认安全提供程序。
有更好的方法吗?更优雅?自定义 java 注释怎么样,这是一个好方法吗?
谢谢:)
如果您只想在 JcaPEMKeyConverter
class use setProvider(java.security.Provider provider)
instead of setProvider(java.lang.String providerName)
中使用 BouncyCastleProvider
,如下所示:
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider(new BouncyCastleProvider());
那么就不需要在安全提供者列表中添加和删除提供者,因此可以避免 Security.addProvider
和 Security.removeProvider
调用。
希望对您有所帮助,
所以我正在寻找仅在函数范围内使用安全提供程序的方法。我已经可以通过添加这两行来做到这一点:(假设 BouncyCastle 是提供者)
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC");
// do some stuff with converter
Security.removeProvider("BC");
所以我只想对 JcaPEMKeyConverter 使用 BC,然后对其余部分使用默认安全提供程序。
有更好的方法吗?更优雅?自定义 java 注释怎么样,这是一个好方法吗?
谢谢:)
如果您只想在 JcaPEMKeyConverter
class use setProvider(java.security.Provider provider)
instead of setProvider(java.lang.String providerName)
中使用 BouncyCastleProvider
,如下所示:
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider(new BouncyCastleProvider());
那么就不需要在安全提供者列表中添加和删除提供者,因此可以避免 Security.addProvider
和 Security.removeProvider
调用。
希望对您有所帮助,