8

这个问题在 Oracle 论坛上被问为“如何替换 sun.security 包??” ( https://forums.oracle.com/thread/2560664 ),但尚未收到回复。

我们有一个当前使用的应用程序:

import sun.security.provider.X509Factory;
import sun.security.x509.AlgorithmId; 
import sun.security.x509.X509CertInfo; 
import sun.security.x509.X509CertImpl; 
import sun.security.x509.CertificateAlgorithmId; 
import sun.security.x509.CertificateValidity; 
import sun.security.x509.CertificateSerialNumber; 
import sun.security.x509.CertificateSubjectName; 
import sun.security.x509.CertificateIssuerName; 
import sun.security.x509.CertificateX509Key; 
import sun.security.x509.CertificateVersion; 

所有这些都会产生一个编译时消息,其中包含:“......内部专有 API,可能在未来的版本中被删除”

有 java 和 javax 安全包,但它们似乎不包含 sun.security.x509 等的等价物。

应该用什么来替换 sun.security 包?而且,是否有迁移指南?

4

2 回答 2

1

答案当然是java.security.cert包裹。如果这不符合您的要求,我会审查它们,或者看看 Bouncy Castle。

于 2015-02-02T07:45:03.047 回答
0

截至目前,没有来自 Oracle 的直接替换包。如果您没有任何计划在任何非 sun/oracle jvm 中运行您的代码,这不是问题。这些警告旨在突出显示其他 JVM 实现的代码可移植性问题。

如果要在其他 JVM 中运行代码,则应使用该 JVM 提供的等效库。

我不确定您对可移植性的意思是什么,AFAIK(尚未测试,请在某处阅读)sun.security 在 jdk1.7 中可用,不确定即将发布的版本中的可用性。

于 2013-07-30T10:07:27.860 回答