小编tec*_*ren的帖子

如何检查ssl证书(X509 V1)是否是没有证书扩展字段的CA证书?

我在Java中有一个X509Certificate(版本1)实例,我需要确定它是CA证书还是用户证书.

我试过这个如何检查X509Certificate是否是CA证书?,但通过提供的解决方案,我可以区分具有certificateExtension的证书(通过利用getBasicConstraints()方法并检查keyUsage中的keyCertSign标志,即V3证书将具有v1或v2不具有的扩展字段)

if (x509Cert != null) {
    isCA = x509Cert.getBasicConstraints() != -1 ? true : false;
}
Run Code Online (Sandbox Code Playgroud)

但是我在X509Certificate实例中没有几个没有certificateExtension字段的证书(因为它们是V1版本证书),所以我将isCA标记为false.此外,我尝试解码在线ssl解码器,如https://certlogik.com/decoder/证书,我可以区分证书类型!

以编程方式查找没有certificateExtension的证书类型的任何其他方法?

样本CA证书:

-----BEGIN CERTIFICATE-----
MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD
VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv
bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv
b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV
UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds
b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH
iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS
r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4
04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r
GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9
3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P
lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
-----END CERTIFICATE-----

It's X509
[
[
  Version: V1
  Subject: CN=GTE CyberTrust Global Root, OU="GTE CyberTrust Solutions, Inc.", O=GTE Corporation, C=US
  Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4

  Key:  Sun RSA public key, 1024 bits
  modulus: 104674226241368487598835828377585222181792546532354327780214427055917513664449991602803276678454577364904540367827644455215731003386468752240014232146814457308076052176227490263634768927290191763858631579785604655038492469791381988347440106477066514204303723029602991655085187937840556671697442212352844587673
  public exponent: 65537
  Validity: [From: Thu …
Run Code Online (Sandbox Code Playgroud)

java ca ssl-certificate x509certificate

5
推荐指数
0
解决办法
1484
查看次数

标签 统计

ca ×1

java ×1

ssl-certificate ×1

x509certificate ×1