是什么取代了Java的sun.security包?

时间:2013-07-17 17:31:34

标签: security migration x509

这个问题在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包?并且,是否有迁移指南?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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