Documentation ¶
Overview ¶
Package pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP.
Package pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AlgorithmIdentifier ¶
type AlgorithmIdentifier struct { Algorithm asn1.ObjectIdentifier Parameters asn1.RawValue `asn1:"optional"` }
AlgorithmIdentifier represents the ASN.1 structure of the same name. See RFC 5280, section 4.1.1.2.
type AttributeTypeAndValue ¶
type AttributeTypeAndValue struct { Type asn1.ObjectIdentifier `json:"type"` Value interface{} `json:"value"` }
AttributeTypeAndValue mirrors the ASN.1 structure of the same name in http://tools.ietf.org/html/rfc5280#section-4.1.2.4
func (*AttributeTypeAndValue) MarshalJSON ¶
func (a *AttributeTypeAndValue) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (*AttributeTypeAndValue) UnmarshalJSON ¶
func (a *AttributeTypeAndValue) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaler interface.
type AttributeTypeAndValueSET ¶
type AttributeTypeAndValueSET struct { Type asn1.ObjectIdentifier Value [][]AttributeTypeAndValue `asn1:"set"` }
AttributeTypeAndValueSET represents a set of ASN.1 sequences of AttributeTypeAndValue sequences from RFC 2986 (PKCS #10).
type AuxOID ¶
type AuxOID []int
AuxOID behaves similar to asn1.ObjectIdentifier, except encodes to JSON as a string in dot notation. It is a type synonym for []int, and can be converted to an asn1.ObjectIdentifier by going through []int and back.
func (*AuxOID) CopyAsSlice ¶
CopyAsSlice returns a copy of the inter-representation as a slice
func (*AuxOID) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface
func (*AuxOID) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface
type CertificateList ¶
type CertificateList struct { TBSCertList TBSCertificateList SignatureAlgorithm AlgorithmIdentifier SignatureValue asn1.BitString }
CertificateList represents the ASN.1 structure of the same name. See RFC 5280, section 5.1. Use Certificate.CheckCRLSignature to verify the signature.
func (*CertificateList) HasExpired ¶
func (certList *CertificateList) HasExpired(now time.Time) bool
HasExpired reports whether now is past the expiry time of certList.
type EDIPartyName ¶
type EDIPartyName struct { NameAssigner string `asn1:"tag:0,optional,explicit" json:"name_assigner,omitempty"` PartyName string `asn1:"tag:1,explicit" json:"party_name"` }
EDIPartyName represents the ASN.1 structure of the same name. See RFC 5280, section 4.2.1.6.
type Extension ¶
type Extension struct { Id asn1.ObjectIdentifier Critical bool `asn1:"optional"` Value []byte }
Extension represents the ASN.1 structure of the same name. See RFC 5280, section 4.2.
func (*Extension) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface.
func (*Extension) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface.
type Name ¶
type Name struct {
Country, Organization, OrganizationalUnit []string
Locality, Province []string
StreetAddress, PostalCode, DomainComponent []string
EmailAddress []string
SerialNumber, CommonName string
GivenName, Surname []string
// EV Components
JurisdictionLocality, JurisdictionProvince, JurisdictionCountry []string
Names []AttributeTypeAndValue
ExtraNames []AttributeTypeAndValue
// OriginalRDNS is saved if the name is populated using FillFromRDNSequence.
// Additionally, if OriginalRDNS is non-nil, the String and ToRDNSequence
// methods will simply use this.
OriginalRDNS RDNSequence
}
Name represents an X.509 distinguished name. This only includes the common elements of a DN. Additional elements in the name are ignored.
func (*Name) FillFromRDNSequence ¶
func (n *Name) FillFromRDNSequence(rdns *RDNSequence)
FillFromRDNSequence populates n based on the AttributeTypeAndValueSETs in the RDNSequence. It save the sequence as OriginalRDNS.
func (*Name) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface.
func (Name) ToRDNSequence ¶
func (n Name) ToRDNSequence() (ret RDNSequence)
ToRDNSequence returns OriginalRDNS is populated. Otherwise, it builds an RDNSequence in canonical order.
func (*Name) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface.
type OtherName ¶
type OtherName struct { TypeID asn1.ObjectIdentifier Value asn1.RawValue `asn1:"explicit"` }
OtherName represents the ASN.1 structure of the same name. See RFC 5280, section 4.2.1.6.
func (*OtherName) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface.
func (*OtherName) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface.
type RDNSequence ¶
type RDNSequence []RelativeDistinguishedNameSET
func (RDNSequence) String ¶
func (seq RDNSequence) String() string
String returns an RDNSequence as comma seperated list of AttributeTypeAndValues in canonical form.
type RelativeDistinguishedNameSET ¶
type RelativeDistinguishedNameSET []AttributeTypeAndValue
type RevokedCertificate ¶
type RevokedCertificate struct { SerialNumber *big.Int RevocationTime time.Time Extensions []Extension `asn1:"optional"` }
RevokedCertificate represents the ASN.1 structure of the same name. See RFC 5280, section 5.1.
type TBSCertificateList ¶
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"` }
TBSCertificateList represents the ASN.1 structure of the same name. See RFC 5280, section 5.1.