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

use*_*485 6 migration security 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包?并且,是否有迁移指南?

谢谢你的帮助.

Abh*_*ash 0

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

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

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