Пакет pkix
Обзор
Пакет pkix содержит общие, низкоуровневые структуры, используемые для разбора и сериализации ASN.1 сертификатов X.509, CRL и OCSP.
Индекс
Файлы пакета
pkix.go
тип AlgorithmIdentifier
AlgorithmIdentifier представляет ASN.1 структуру с таким же именем. См. RFC 5280, раздел 4.1.1.2.
type AlgorithmIdentifier struct {
Algorithm asn1.ObjectIdentifier
Parameters asn1.RawValue `asn1:"optional"`
}
тип AttributeTypeAndValue
AttributeTypeAndValue отражает ASN.1 структуру с таким же именем в RFC 5280, Раздел 4.1.2.4.
type AttributeTypeAndValue struct {
Type asn1.ObjectIdentifier
Value any
}
тип AttributeTypeAndValueSET 1.3
AttributeTypeAndValueSET представляет собой набор ASN.1 последовательностей AttributeTypeAndValue последовательностей из RFC 2986 (PKCS #10).
type AttributeTypeAndValueSET struct {
Type asn1.ObjectIdentifier
Value [][]AttributeTypeAndValue `asn1:"set"`
}
тип CertificateList
CertificateList представляет собой ASN.1 структуру с таким же именем. См. RFC 5280, раздел 5.1. Используйте Certificate.CheckCRLSignature для проверки подписи.
Устарело: следует использовать x509.RevocationList.
type CertificateList struct {
TBSCertList TBSCertificateList
SignatureAlgorithm AlgorithmIdentifier
SignatureValue asn1.BitString
}
функция (*CertificateList) HasExpired
func (certList *CertificateList) HasExpired(now time.Time) bool
HasExpired сообщает, был ли certList обновлён к настоящему моменту.
тип Extension
Extension представляет собой ASN.1 структуру с таким же именем. См. RFC 5280, раздел 4.2.
type Extension struct {
Id asn1.ObjectIdentifier
Critical bool `asn1:"optional"`
Value []byte
}
тип Name
Name представляет собой имя X.509. Это включает только общие элементы DN. Обратите внимание, что Name является лишь приближением структуры X.509. Если требуется точное представление, используйте asn1.Unmarshal для исходного субъекта или эмитента как RDNSequence.
type Name struct {
Country, Organization, OrganizationalUnit []string
Locality, Province []string
StreetAddress, PostalCode []string
SerialNumber, CommonName string
// Names contains all parsed attributes. When parsing distinguished names,
// this can be used to extract non-standard attributes that are not parsed
// by this package. When marshaling to RDNSequences, the Names field is
// ignored, see ExtraNames.
Names []AttributeTypeAndValue
// ExtraNames contains attributes to be copied, raw, into any marshaled
// distinguished names. Values override any attributes with the same OID.
// The ExtraNames field is not populated when parsing, see Names.
ExtraNames []AttributeTypeAndValue // Go 1.5
}
функция (*Name) FillFromRDNSequence
func (n *Name) FillFromRDNSequence(rdns *RDNSequence)
FillFromRDNSequence заполняет n из предоставленного RDNSequence. Многоэлементные RDN сжимаются, все записи добавляются в соответствующие поля n, а группировка не сохраняется.
функция (Name) String 1.10
func (n Name) String() string
String возвращает строковое представление n, примерно следуя синтаксису имён RFC 2253.
функция (Name) ToRDNSequence
func (n Name) ToRDNSequence() (ret RDNSequence)
ToRDNSequence преобразует n в единичный RDNSequence. Следующие атрибуты кодируются как многозначные RDN:
- Страна
- Организация
- Отдел организации
- Населённый пункт
- Провинция
- Улица
- Почтовый индекс
Каждая запись ExtraNames кодируется как отдельная запись RDN.
тип RDNSequence
type RDNSequence []RelativeDistinguishedNameSET
функция (RDNSequence) String 1.10
func (r RDNSequence) String() string
String возвращает строковое представление последовательности r, примерно следуя синтаксису имён RFC 2253.
тип RelativeDistinguishedNameSET
type RelativeDistinguishedNameSET []AttributeTypeAndValue
тип RevokedCertificate
RevokedCertificate представляет ASN.1 структуру с таким же именем. См. RFC 5280, раздел 5.1.
type RevokedCertificate struct {
SerialNumber *big.Int
RevocationTime time.Time
Extensions []Extension `asn1:"optional"`
}
тип TBSCertificateList
TBSCertificateList представляет ASN.1 структуру с таким же именем. См. RFC 5280, раздел 5.1.
Устарело: следует использовать x509.RevocationList.
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"`
}
© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/crypto/x509/pkix/