X.509证书
数字证书是现代信息安全的核心技术,无论是在以前的互联网中还是在如今区块链(联盟链为主)的场景应用中都有着非常普遍的应用,数字证书基本采用非对称加密技术,因此也被称公开密钥证书。
X.509 是一种密码学公开密钥证书的格式标准。
X.509 标准规定了证书可以包含什么信息,并说明了记录信息的方法(数据格式)。
X.509 证书里含有公钥、身份信息(比如网络主机名,组织的名称或个体名称等)和签名信息(可以是证书签发机构CA的签名,也可以是自签名)。
对于一份经由可信的证书签发机构签名或者可以通过其它方式验证的证书,证书的拥有者就可以用证书及相应的私钥来创建安全的通信,对文档进行数字签名。
另外除了证书本身功能,X.509还附带了证书吊销列表和用于从最终对证书进行签名的证书签发机构直到最终可信点为止的证书合法性验证算法。
openssl打开证书文件操作
openssl x509 -in node.crt -noout -text
X.509证书的数据结构
Certificate: Data: Version: 3 (0x2) Serial Number: b4:74:f0:a8:c4:d3:f3:10 Signature Algorithm: ecdsa-with-SHA256 Issuer: CN=dir_chain_ca_normal, O=fisco-bcos, OU=chain Validity Not Before: Nov 6 01:55:13 2020 GMT Not After : Nov 4 01:55:13 2030 GMT Subject: CN=dir_chain_ca_normal, O=fisco-bcos, OU=chain Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: 04:f9:c7:30:3c:26:6e:73:58:33:2c:58:83:cf:b9: da:e2:ff:16:e3:c8:63:dc:27:a2:d5:33:34:a6:be: 1f:9a:fd:30:e4:02:a6:c7:92:3d:49:e3:29:34:d6: 36:73:2a:b4:36:e8:0b:21:87:81:57:13:57:af:51: 31:9d:f6:01:2c ASN1 OID: secp256k1 X509v3 extensions: X509v3 Subject Key Identifier: 4A:AA:77:70:F5:77:C7:10:32:B5:F9:96:2D:31:31:EE:8A:AF:46:06 X509v3 Authority Key Identifier: keyid:4A:AA:77:70:F5:77:C7:10:32:B5:F9:96:2D:31:31:EE:8A:AF:46:06 X509v3 Basic Constraints: CA:TRUE Signature Algorithm: ecdsa-with-SHA256 30:45:02:21:00:fb:72:61:c0:0a:45:f3:fa:4f:87:7a:90:b6: fa:e3:6a:01:d2:22:9f:ee:f4:ff:85:21:ad:5d:af:31:ea:8c: 5f:02:20:6c:ad:45:93:5c:82:e2:94:f2:e8:06:72:90:11:03: b3:e5:bc:27:51:c8:95:0c:43:3e:f8:43:04:ca:53:db:cd -----BEGIN CERTIFICATE----- MIIByjCCAXCgAwIBAgIJALR08KjE0/MQMAoGCCqGSM49BAMCMEMxHDAaBgNVBAMM E2Rpcl9jaGFpbl9jYV9ub3JtYWwxEzARBgNVBAoMCmZpc2NvLWJjb3MxDjAMBgNV BAsMBWNoYWluMB4XDTIwMTEwNjAxNTUxM1oXDTMwMTEwNDAxNTUxM1owQzEcMBoG A1UEAwwTZGlyX2NoYWluX2NhX25vcm1hbDETMBEGA1UECgwKZmlzY28tYmNvczEO MAwGA1UECwwFY2hhaW4wVjAQBgcqhkjOPQIBBgUrgQQACgNCAAT5xzA8Jm5zWDMs WIPPudri/xbjyGPcJ6LVMzSmvh+a/TDkAqbHkj1J4yk01jZzKrQ26Ashh4FXE1ev UTGd9gEso1AwTjAdBgNVHQ4EFgQUSqp3cPV3xxAytfmWLTEx7oqvRgYwHwYDVR0j BBgwFoAUSqp3cPV3xxAytfmWLTEx7oqvRgYwDAYDVR0TBAUwAwEB/zAKBggqhkjO PQQDAgNIADBFAiEA+3JhwApF8/pPh3qQtvrjagHSIp/u9P+FIa1drzHqjF8CIGyt RZNcguKU8ugGcpARA7PlvCdRyJUMQz74QwTKU9vN -----END CERTIFICATE-----
证书结构说明
- 1.1.版本version
- 1.2.序列号serialnumber
- 1.3.签名算法signature
- 1.4.颁发者issuer
- 1.5.有效期生效时间:notAfter失效时间;notBefore
- 1.6.证书主题SubjectDN
- 1.6.1.国家C
- 1.6.2.省份S
- 1.6.3.地市L
- 1.6.4.组织名称O
- 1.6.5.机构名称OU
- 1.6.6.用户名称CN
- 1.6.7.邮箱Email
- 1.6.8.域组件DC
- 1.7.证书颁发者IssuerDN
- 1.7.1.国家C
- 1.7.2.省份S
- 1.7.3.地市L
- 1.7.4.组织名称O
- 1.7.5.机构名称OU
- 1.7.6.用户名称CN
- 1.7.7.邮箱Email
- 1.7.8.域组件DC
- 1.8.主体公钥信息SubjectPublicKeyInfo
- 1.9.颁发者唯一标识符IssuerUniqueID
- 1.10.主体唯一标识符SubjectUniqueID
- 1.11.标准证书扩展项Extensions
- 1.11.1.密钥用法KeyUsage
- 1.11.1.1.数字签名DigitalSignature
- 1.11.1.2.认可NonRepudiation
- 1.11.1.3.密钥加密KeyEncipherment
- 1.11.1.4.数据加密DataEncipherment
- 1.11.1.5.证书签名KeyCertSign
- 1.11.1.6.密钥协商(仅加密或仅解密)KeyAgreement
- 1.11.2.扩展密钥用法ExtKeyUsage
- 1.11.2.1.服务器验证ServerAuth
- 1.11.2.2.客户端验证ClientAuth
- 1.11.2.3.代码签名CodeSigning
- 1.11.2.4.Email保护EmailProtection
- 1.11.3.基本限制BasicConstraints
- 1.11.4.颁发机构密钥标识符AuthorityKeyIdentifier
- 1.11.5.主体密钥标识符SubjectKeyIdentifer
- 1.11.6.证书策略CertificatePolicies
- 1.11.7.策略映射PolicyMapping
- 1.11.8.最新证书撤销列表FreshestCRL
- 1.11.9.证书撤销列表分布点CRLDistributionPoints
- 1.11.1.密钥用法KeyUsage
- 1.12.私有证书扩展项PrivateExtensions
- 1.12.1.个人身份标识码IdentityCode
- 1.12.2.个人身份社会保险号InsuranceNumber
- 1.12.3.企业工商注册号ICRegistrationNumber
- 1.12.4.企业组织机构代码OrganizationCode
- 1.12.5.企业税号TaxationNumber
- 1.12.6.专用因特网扩展PrivateInternetExtensionsid-pkix
- 1.12.7.机构信息访问AuthorityInfoAccess
- 1.12.8.主体信息访问SubjectInformationAccess