密钥库使用Unicode编码获取别名

时间:2015-07-16 10:59:53

标签: unicode certificate keystore

当我使用C#获取证书颁发者时,它会正确返回。 这是我的代码:

X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);

foreach (X509Certificate2 mCert in store.Certificates)
{
    Trace.WriteLine(mCert.SubjectName.Name);
}

结果:C = VN,L =HÀNỘI,CN =TẬPĐOÀNVIỄNTHÔNGQUÂNĐỘI(测试)......

但在Java中,我无法使用Unicode字符获取别名。 这是我的代码:

KeyStore ks = KeyStore.getInstance("Windows-MY");
ks.load(null, null);

Enumeration e = ks.aliases();
while (e.hasMoreElements()) {
    String alias = (String) e.nextElement();
    System.out.println(alias);
}

结果是T?PÐOÀNVI?NTHÔNGQUÂNÐ?I(测试)

那么,我怎样才能像C#一样在Java中获得别名Unicode字符?非常感谢你。

0 个答案:

没有答案