type Certificate struct { Raw []byte // 原始、完整的ASN.1 DER内容(证书、签名算法、签名) RawTBSCertificate []byte // ASN.1 DER 内容的证书部分 RawSubjectPublicKeyInfo []byte // 原始DER编码的SubjectPublicKeyInfo RawSubject []byte // 原始DER编码的Subject RawIssuer []byte // 原始DER编码的Issuer Signature []byte SignatureAlgorithm SignatureAlgorithm PublicKeyAlgorithm PublicKeyAlgorithm PublicKey interface{} Version int SerialNumber *big.Int Issuer pkix.Name Subject pkix.Name NotBefore, NotAfter time.Time // 有效期前后界,本时间段之外无效 KeyUsage KeyUsage // Extensions保管原始的X.509扩展。当解析证书时,本字段用于摘录本包未解析的不关键扩展。 // 序列化证书时,Extensions字段会被忽略,参见ExtraExtensions。 Extensions []pkix.Extension // ExtraExtensions包含应被直接拷贝到任何序列化的证书中的扩展。 // 本字段保管的值会覆盖任何其它字段生成的扩展。 // ExtraExtensions字段在解析证书时不会被填写,参见Extensions。 ExtraExtensions []pkix.Extension ExtKeyUsage []ExtKeyUsage // 密钥扩展用途的序列 UnknownExtKeyUsage []asn1.ObjectIdentifier // 遇到的本包不能识别的密钥扩展用途 BasicConstraintsValid bool // 如果下两个字段合法,将为真 IsCA bool MaxPathLen int SubjectKeyId []byte AuthorityKeyId []byte // RFC 5280, 4.2.2.1(认证信息存取) OCSPServer []string IssuingCertificateURL []string // 证书持有者的替用名称 DNSNames []string EmailAddresses []string IPAddresses []net.IP // 名称的约束 PermittedDNSDomainsCritical bool // 如为真则名称约束被标记为关键的 PermittedDNSDomains []string // CRL配销点 CRLDistributionPoints []string PolicyIdentifiers []asn1.ObjectIdentifier }