Documentation
¶
Overview ¶
Package attributecert parses X.509-encoded attribute certificates.
Index ¶
- type AttributeCertificate
- type AttributeCertificateIdentifier
- type Certholder
- type CertificateIdentifier
- type CommonCriteriaMeasures
- type CommonCriteriaMeasures_sda
- type Component
- type ComponentAddress
- type ComponentClass
- type ComponentIdentifierV1
- type ComponentIdentifierV2
- type FipsLevel
- type PlatformConfigurationV1
- type PlatformConfigurationV2
- type PlatformConfigurationV2Workaround
- type PlatformDataSET
- type PlatformDataSequence
- type Property
- type TBBSecurityAssertions
- type TBBSecurityAssertions_sda
- type TCGCredentialSpecification
- type TCGCredentialType
- type TCGData
- type TCGDirectoryEntry
- type TCGPlatformSpecification
- type TCGSpecificationVersion
- type URIReference
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttributeCertificate ¶
type AttributeCertificate struct {
Raw []byte // Complete ASN.1 DER content (certificate, signature algorithm and signature).
RawTBSAttributeCertificate []byte // Certificate part of raw ASN.1 DER content.
Signature []byte
SignatureAlgorithm x509.SignatureAlgorithm
Version int
SerialNumber *big.Int
Holder Certholder
Issuer pkix.Name
Subject pkix.Name
NotBefore, NotAfter time.Time // Validity bounds.
TCGPlatformSpecification TCGPlatformSpecification
TBBSecurityAssertions TBBSecurityAssertions
PlatformManufacturer string
PlatformModel string
PlatformVersion string
PlatformSerial string
CredentialSpecification string
UserNotice userNotice
Components []Component
Properties []Property
PropertiesURI string
}
func ParseAttributeCertificate ¶
func ParseAttributeCertificate(asn1Data []byte) (*AttributeCertificate, error)
ParseAttributeCertificate parses a single attribute certificate from the given ASN.1 DER data.
func (*AttributeCertificate) CheckSignatureFrom ¶
func (c *AttributeCertificate) CheckSignatureFrom(parent *x509.Certificate) error
CheckSignatureFrom verifies that the signature on c is a valid signature from parent.
type AttributeCertificateIdentifier ¶
type AttributeCertificateIdentifier struct {
HashAlgorithm pkix.AlgorithmIdentifier
HashOverSignatureValue string
}
type CertificateIdentifier ¶
type CertificateIdentifier struct {
AttributeCertIdentifier AttributeCertificateIdentifier `asn1:"optional,tag:0"`
GenericCertIdientifier issuerSerial `asn1:"optional,tag:1"`
}
type CommonCriteriaMeasures ¶
type CommonCriteriaMeasures struct {
Version string
AssuranceLevel asn1.Enumerated
EvaluationStatus asn1.Enumerated
Plus bool
StrengthOfFunction asn1.Enumerated `asn1:"optional,tag:0"`
ProfileOid asn1.ObjectIdentifier `asn1:"optional,tag:1"`
ProfileURI string `asn1:"optional,tag:2"`
TargetOid asn1.ObjectIdentifier `asn1:"optional,tag:3"`
TargetURI asn1.ObjectIdentifier `asn1:"optional,tag:4"`
}
type CommonCriteriaMeasures_sda ¶
type CommonCriteriaMeasures_sda struct {
Version string
AssuranceLevel asn1.Enumerated
EvaluationStatus asn1.Enumerated
Plus bool `asn1:"optional,default=false"`
StrengthOfFunction asn1.Enumerated `asn1:"optional"`
ProfileOid asn1.ObjectIdentifier `asn1:"optional"`
ProfileURI string `asn1:"optional"`
TargetOid asn1.ObjectIdentifier `asn1:"optional"`
TargetURI asn1.ObjectIdentifier `asn1:"optional"`
}
Certificates with this information in the SDA region appear to fail to tag the optional fields
type ComponentAddress ¶
type ComponentAddress struct {
AddressType asn1.ObjectIdentifier
AddressValue string
}
type ComponentClass ¶
type ComponentClass struct {
ComponentClassRegistry asn1.ObjectIdentifier
ComponentClassValue []byte
}
type ComponentIdentifierV1 ¶
type ComponentIdentifierV1 struct {
ComponentClass []byte `asn1:"optional"`
ComponentManufacturer string
ComponentModel string
ComponentSerial string `asn1:"optional,utf8,tag:0"`
ComponentRevision string `asn1:"optional,utf8,tag:1"`
ComponentManufacturerID int `asn1:"optional,tag:2"`
FieldReplaceable bool `asn1:"optional,tag:3"`
ComponentAddresses []ComponentAddress `asn1:"optional,tag:4"`
}
type ComponentIdentifierV2 ¶
type ComponentIdentifierV2 struct {
ComponentClass ComponentClass
ComponentManufacturer string
ComponentModel string
ComponentSerial string `asn1:"optional,utf8,tag:0"`
ComponentRevision string `asn1:"optional,utf8,tag:1"`
ComponentManufacturerID int `asn1:"optional,tag:2"`
FieldReplaceable bool `asn1:"optional,tag:3"`
ComponentAddresses []ComponentAddress `asn1:"optional,tag:4"`
ComponentPlatformCert CertificateIdentifier `asn1:"optional,tag:5"`
ComponentPlatformCertURI string `asn1:"optional,tag:6"`
Status asn1.Enumerated `asn1:"optional,tag:7"`
}
type FipsLevel ¶
type FipsLevel struct {
Version string
Level asn1.Enumerated
Plus bool `asn1:"optional,default=false"`
}
type PlatformConfigurationV1 ¶
type PlatformConfigurationV1 struct {
ComponentIdentifiers []ComponentIdentifierV1 `asn1:"optional,tag:0"`
PlatformProperties []Property `asn1:"optional,tag:1"`
PlatformPropertiesURI URIReference `asn1:"optional,tag:2"`
}
type PlatformConfigurationV2 ¶
type PlatformConfigurationV2 struct {
ComponentIdentifiers []ComponentIdentifierV2 `asn1:"optional,tag:0"`
ComponentIdentifiersURI URIReference `asn1:"optional,tag:1"`
PlatformProperties []Property `asn1:"optional,tag:2"`
PlatformPropertiesURI URIReference `asn1:"optional,tag:3"`
}
type PlatformConfigurationV2Workaround ¶
type PlatformConfigurationV2Workaround struct {
ComponentIdentifiers []ComponentIdentifierV2 `asn1:"optional,tag:0"`
ComponentIdentifiersURI URIReference `asn1:"optional,tag:1"`
PlatformProperty Property `asn1:"optional,tag:2"`
PlatformPropertiesURI URIReference `asn1:"optional,tag:3"`
}
type PlatformDataSET ¶
type PlatformDataSET []pkix.AttributeTypeAndValue
type PlatformDataSequence ¶
type PlatformDataSequence []PlatformDataSET
type Property ¶
type Property struct {
PropertyName string
PropertyValue string
Status asn1.Enumerated `asn1:"optional,tag:0"`
}
type TBBSecurityAssertions ¶
type TBBSecurityAssertions struct {
Version int `asn1:"optional,default=0"`
CcInfo CommonCriteriaMeasures `asn1:"optional,tag:0"`
FipsLevel FipsLevel `asn1:"optional,tag:1"`
RtmType asn1.Enumerated `asn1:"optional,tag:2"`
Iso9000Certified bool `asn1:"optional,default=false"`
Iso9000URI string `asn1:"optional"`
}
type TBBSecurityAssertions_sda ¶
type TBBSecurityAssertions_sda struct {
Version int
CcInfo CommonCriteriaMeasures_sda `asn1:"optional"`
FipsLevel FipsLevel `asn1:"optional"`
RtmType asn1.Enumerated `asn1:"optional"`
Iso9000Certified bool `asn1:"optional"`
Iso9000URI string `asn1:"optional"`
}
type TCGCredentialSpecification ¶
type TCGCredentialSpecification struct {
Version TCGSpecificationVersion
}
type TCGCredentialType ¶
type TCGCredentialType struct {
CertificateType asn1.ObjectIdentifier
}
type TCGData ¶
type TCGData struct {
ID asn1.ObjectIdentifier
Data string
}
type TCGDirectoryEntry ¶
type TCGDirectoryEntry struct {
ID asn1.ObjectIdentifier
Data asn1.RawValue
}
type TCGPlatformSpecification ¶
type TCGPlatformSpecification struct {
Version TCGSpecificationVersion
}
type TCGSpecificationVersion ¶
type URIReference ¶
type URIReference struct {
UniformResourceIdentifier string
HashAlgorithm pkix.AlgorithmIdentifier `asn1:"optional"`
HashValue string `asn1:"optional"`
}
Click to show internal directories.
Click to hide internal directories.