首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

crypto/x509/pkix

  • import "crypto/x509/pkix"
  • 概述
  • 索引

概述

Pkix 包包含用于 ASN.1 解析和序列化 X.509 证书,CRL 和 OCSP 的共享低级别结构。

索引

  • type AlgorithmIdentifier
  • type AttributeTypeAndValue
  • type AttributeTypeAndValueSET
  • type CertificateList
  • func (certList *CertificateList) HasExpired(now time.Time) bool
  • type Extension
  • type Name
  • func (n *Name) FillFromRDNSequence(rdns *RDNSequence)
  • func (n Name) ToRDNSequence() (ret RDNSequence)
  • type RDNSequence
  • type RelativeDistinguishedNameSET
  • type RevokedCertificate
  • type TBSCertificateList

文件包

type AlgorithmIdentifier(查看源代码)

AlgorithmIdentifier 表示同名的 ASN.1 结构。请参阅 RFC 5280,第 4.1.1.2 节。

代码语言:javascript
复制
type AlgorithmIdentifier struct {
        Algorithm  asn1.ObjectIdentifier
        Parameters asn1.RawValue `asn1:"optional"`
}

type AttributeTypeAndValue(查看源代码)

AttributeTypeAndValue 在http://tools.ietf.org/html/rfc5280#section-4.1.2.4 中镜像相同名称的 ASN.1 结构

代码语言:javascript
复制
type AttributeTypeAndValue struct {
        Type  asn1.ObjectIdentifier
        Value interface{}
}

type AttributeTypeAndValueSET(查看源代码)

AttributeTypeAndValueSET 表示来自 RFC 2986(PKCS#10) 的一组 ASN.1 序列的 AttributeTypeAndValue 序列。

代码语言:javascript
复制
type AttributeTypeAndValueSET struct {
        Type  asn1.ObjectIdentifier
        Value [][]AttributeTypeAndValue `asn1:"set"`
}

type CertificateList(查看源代码)

CertificateList 表示同名的 ASN.1 结构。请参阅 RFC 5280,第5.1节。使用 Certificate.CheckCRLSignature 来验证签名。

代码语言:javascript
复制
type CertificateList struct {
        TBSCertList        TBSCertificateList
        SignatureAlgorithm AlgorithmIdentifier
        SignatureValue     asn1.BitString
}

func (*CertificateList) HasExpired(查看源代码)

代码语言:javascript
复制
func (certList *CertificateList) HasExpired(now time.Time) bool

HasExpired 报告现在是否超过了 certList 的到期时间。

type Extension(查看源代码)

扩展表示同名的 ASN.1 结构。请参阅 RFC 5280,第4.2节。

代码语言:javascript
复制
type Extension struct {
        Id       asn1.ObjectIdentifier
        Critical bool `asn1:"optional"`
        Value    []byte
}

名称代表一个 X.509 专有名称。这只包括 DN 的通用元素。解析时,所有元素都存储在名称中,并且可以从中提取非标准元素。编组时, ExtraNames 中的元素将被追加,并使用相同的 OID 覆盖其他值。

代码语言:javascript
复制
type Name struct {
        Country, Organization, OrganizationalUnit []string
        Locality, Province                        []string
        StreetAddress, PostalCode                 []string
        SerialNumber, CommonName                  string

        Names      []AttributeTypeAndValue
        ExtraNames []AttributeTypeAndValue
}

func (*Name) FillFromRDNSequence(查看源代码)

代码语言:javascript
复制
func (n *Name) FillFromRDNSequence(rdns *RDNSequence)

func (Name) ToRDNSequence(查看源代码)

代码语言:javascript
复制
func (n Name) ToRDNSequence() (ret RDNSequence)

type RDNSequence(查看源代码)

代码语言:javascript
复制
type RDNSequence []RelativeDistinguishedNameSET

type RelativeDistinguishedNameSET(查看源代码)

代码语言:javascript
复制
type RelativeDistinguishedNameSET []AttributeTypeAndValue

type RevokedCertificate(查看源代码)

RevokedCertificate 表示同名的 ASN.1 结构。请参阅 RFC 5280,第5.1节。

代码语言:javascript
复制
type RevokedCertificate struct {
        SerialNumber   *big.Int
        RevocationTime time.Time
        Extensions     []Extension `asn1:"optional"`
}

type TBSCertificateList(查看源代码)

TBSCertificateList 表示同名的 ASN.1 结构。请参阅 RFC 5280,第5.1节。

代码语言:javascript
复制
type TBSCertificateList struct {
        Raw                 asn1.RawContent
        Version             int `asn1:"optional,default:0"`
        Signature           AlgorithmIdentifier
        Issuer              RDNSequence
        ThisUpdate          time.Time
        NextUpdate          time.Time            `asn1:"optional"`
        RevokedCertificates []RevokedCertificate `asn1:"optional"`
        Extensions          []Extension          `asn1:"tag:0,optional,explicit"`
}

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com