【问题标题】:Java: Get X509Certificate IssuersJava:获取 X509 证书颁发者
【发布时间】:2013-07-09 01:32:26
【问题描述】:

您好,我有这个证书(X509Certificate),但我需要获取它的所有颁发者,例如:

证书的认证路径是

-CA NATIONAL ROOT - Costa Rica 
 --CA NATURAL PERSON POLITICS - Costa Rica
   ---CA SINPE - NATURAL PERSON
      ----MARIO XXXXX XXXXXX (SIGN) --->

--->这就是我所拥有的,但我需要访问顶级发行人直到到达根(CA NATIONAL ROOT - Costa Rica),因为我需要比较第一个发行人的名称和其他数据,与一些参数。我该如何做到这一点或我应该从哪里开始?

【问题讨论】:

  • 你有这个证书是什么形式的?在磁盘上?密钥库? SSLSession 的一部分?
  • 您显然需要拥有所有这些证书,或者已经在本地可用,例如在同一个密钥库中,或者您需要能够下载它们,例如来自 ldap 来源。但是,您应该确保以某种方式限制从中检索证书的可能来源。否则你可能太容易上假证书链了。

标签: java certificate x509certificate digital-certificate


【解决方案1】:
KeyStore ks = KeyStore.getInstance("pkcs12");
//FileInputStream fis = new FileInputStream("C://Users//youtube//Documents//workspace//PublicKey02//archivo//archivo.p12");
//ks.load(fis, "passwordp12file".toCharArray());
ks.load(new FileInputStream("archivo//llave_criptografica.p12"), "su-password".toCharArray());
/*Enumeration<String> e = ks.aliases();
while (e.hasMoreElements()) {
   String param = e.nextElement();
   System.out.println(param);
}*/
//System.out.println(ks.containsAlias("myKey"));
KeyStore.PrivateKeyEntry keyEntry = (KeyStore.PrivateKeyEntry) ks.getEntry("2cba9e2d-6ec2-435e-b1bc-5fd9fe5afcac", new KeyStore.PasswordProtection("su-password".toCharArray()));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-25
    • 2016-04-20
    • 2020-02-04
    • 2021-04-22
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多