Documentation
¶
Index ¶
- Constants
- Variables
- func FindByLanguage(names *InternationalNamesType, lang string, dflt string) string
- type AdditionalInformation
- type AdditionalInformationType
- type AdditionalServiceInformation
- type AdditionalServiceInformationType
- type AddressType
- type AllDataObjectsTimeStamp
- type AllSignedDataObjects
- type AnyType
- type ArchiveTimeStamp
- type AttrAuthoritiesCertValues
- type AttributeCertificateRefs
- type AttributeRevocationRefs
- type AttributeRevocationValues
- type AttributedNonEmptyURIType
- type CRLIdentifierType
- type CRLRefType
- type CRLRefsType
- type CRLValuesType
- type CanonicalizationMethod
- type CanonicalizationMethodType
- type CertIDListType
- type CertIDType
- type CertSubjectDNAttribute
- type CertSubjectDNAttributeType
- type CertificateValues
- type CertificateValuesType
- type CertifiedRolesListType
- type ClaimedRolesListType
- type CommitmentTypeIndication
- type CommitmentTypeIndicationType
- type CommitmentTypeQualifiersListType
- type CompleteCertificateRefs
- type CompleteCertificateRefsType
- type CompleteRevocationRefs
- type CompleteRevocationRefsType
- type CounterSignature
- type CounterSignatureType
- type CriteriaListType
- type CryptoBinary
- type DSAKeyValue
- type DSAKeyValueType
- type DataObjectFormat
- type DataObjectFormatType
- type DigestAlgAndValueType
- type DigestMethod
- type DigestMethodType
- type DigestValue
- type DigestValueType
- type DigitalIdentityListType
- type DigitalIdentityType
- type DistributionPoints
- type DocumentationReferencesType
- type ElectronicAddress
- type ElectronicAddressType
- type EncapsulatedPKIData
- type EncapsulatedPKIDataType
- type ExpiredCertsRevocationInfo
- type ExtendedKeyUsage
- type ExtendedKeyUsageType
- type Extension
- type ExtensionType
- type ExtensionsListType
- type GenericTimeStampType
- type HMACOutputLengthType
- type IdentifierType
- type Include
- type IncludeType
- type IndividualDataObjectsTimeStamp
- type IntegerListType
- type InternationalNamesType
- type KeyInfo
- type KeyInfoType
- type KeyName
- type KeyUsageBitType
- type KeyUsageType
- type KeyValue
- type KeyValueType
- type Lang
- type Manifest
- type ManifestType
- type MgmtData
- type MimeType
- type MultiLangNormStringType
- type MultiLangStringType
- type NextUpdate
- type NextUpdateType
- type NonEmptyMultiLangURIListType
- type NonEmptyMultiLangURIType
- type NonEmptyNormalizedString
- type NonEmptyString
- type NonEmptyURIListType
- type NonEmptyURIType
- type NoticeReferenceType
- type OCSPIdentifierType
- type OCSPRefType
- type OCSPRefsType
- type OCSPValuesType
- type Object
- type ObjectIdentifier
- type ObjectIdentifierType
- type ObjectType
- type OtherCertStatusRefsType
- type OtherCertStatusValuesType
- type OtherTSLPointer
- type OtherTSLPointerType
- type OtherTSLPointersType
- type OtherTimeStamp
- type OtherTimeStampType
- type PGPData
- type PGPDataType
- type PointersToOtherTSL
- type PoliciesListType
- type PolicyOrLegalNotice
- type PolicyOrLegalnoticeType
- type PostalAddress
- type PostalAddressListType
- type PostalAddressType
- type PostalAddresses
- type PublicKeyLocation
- type QualificationElementType
- type Qualifications
- type QualificationsType
- type QualifierType
- type QualifiersType
- type QualifyingProperties
- type QualifyingPropertiesReference
- type QualifyingPropertiesReferenceType
- type QualifyingPropertiesType
- type RSAKeyValue
- type RSAKeyValueType
- type Reference
- type ReferenceInfo
- type ReferenceInfoType
- type ReferenceType
- type RefsOnlyTimeStamp
- type ResponderIDType
- type RetrievalMethod
- type RetrievalMethodType
- type RevocationValues
- type RevocationValuesType
- type SPKIData
- type SPKIDataType
- type SPURI
- type SPUserNotice
- type SPUserNoticeType
- type SchemeInformation
- type SchemeInformationURI
- type SchemeName
- type SchemeOperatorName
- type SchemeTerritory
- type SchemeTypeCommunityRules
- type ServiceDigitalIdentities
- type ServiceDigitalIdentity
- type ServiceDigitalIdentityListType
- type ServiceHistory
- type ServiceHistoryInstance
- type ServiceHistoryInstanceType
- type ServiceHistoryType
- type ServiceInformation
- type ServiceStatus
- type ServiceSupplyPoints
- type ServiceSupplyPointsType
- type ServiceTypeIdentifier
- type SigAndRefsTimeStamp
- type SigPolicyQualifiersListType
- type Signature
- type SignatureMethod
- type SignatureMethodType
- type SignaturePolicyIdType
- type SignaturePolicyIdentifier
- type SignaturePolicyIdentifierType
- type SignaturePolicyImplied
- type SignatureProductionPlace
- type SignatureProductionPlaceType
- type SignatureProperties
- type SignaturePropertiesType
- type SignatureProperty
- type SignaturePropertyType
- type SignatureTimeStamp
- type SignatureType
- type SignatureValue
- type SignatureValueType
- type SignedDataObjectProperties
- type SignedDataObjectPropertiesType
- type SignedInfo
- type SignedInfoType
- type SignedProperties
- type SignedPropertiesType
- type SignedSignatureProperties
- type SignedSignaturePropertiesType
- type SignerRole
- type SignerRoleType
- type SigningCertificate
- type SigningTime
- type TSL
- func (tsl *TSL) AddReferencedTSL(ref *TSL)
- func (tsl *TSL) CleanCerts()
- func (tsl *TSL) DereferencePointersToOtherTSL()
- func (tsl *TSL) NumberOfTrustServiceProviders() int
- func (tsl *TSL) SchemeOperatorName() string
- func (tsl *TSL) String() string
- func (tsl *TSL) Summary() map[string]interface{}
- func (tsl *TSL) ToCertPool(policy *TSPServicePolicy) *x509.CertPool
- func (tsl *TSL) ToCertPoolWithReferences(policy *TSPServicePolicy) *x509.CertPool
- func (tsl *TSL) WithTrustServices(cb func(*TSPType, *TSPServiceType))
- type TSLFetchOptions
- type TSLSchemeInformationType
- type TSLType
- type TSPInformation
- type TSPInformationType
- type TSPService
- type TSPServiceInformationType
- type TSPServicePolicy
- type TSPServiceType
- type TSPServices
- type TSPServicesListType
- type TSPType
- type TakenOverBy
- type TakenOverByType
- type Transform
- type TransformType
- type Transforms
- type TransformsType
- type TrustServiceProvider
- type TrustServiceProviderList
- type TrustServiceProviderListType
- type TrustServiceStatusList
- type TrustStatusListType
- type UnsignedDataObjectProperties
- type UnsignedDataObjectPropertiesType
- type UnsignedProperties
- type UnsignedPropertiesType
- type UnsignedSignatureProperties
- type UnsignedSignaturePropertiesType
- type X509CertificateLocation
- type X509Data
- type X509DataType
- type X509IssuerSerialType
- type XAdESTimeStamp
- type XAdESTimeStampType
Constants ¶
const ServiceStatusGranted string = "https://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted/"
Variables ¶
var ( ErrInvalidDate = errors.New("not currently valid") ErrInvalidStatus = errors.New("status is not recognized or granted") ErrInvalidConstraints = errors.New("service constraints not fulfilled") )
var DefaultTSLFetchOptions = TSLFetchOptions{ UserAgent: "Go-Trust/1.0 TSL Fetcher (+https://github.com/SUNET/go-trust)", Timeout: 30 * time.Second, MaxDereferenceDepth: 3, AcceptHeaders: []string{"application/xml", "text/xml", "application/xhtml+xml", "text/html;q=0.9", "*/*;q=0.8"}, }
DefaultTSLFetchOptions provides reasonable default options for fetching TSLs
var (
PolicyAll = NewTSPServicePolicy()
)
A constant TSPServicePolicy instance that represents a standard policy with an empty ServiceTypeIdentifier array.
Functions ¶
func FindByLanguage ¶
func FindByLanguage(names *InternationalNamesType, lang string, dflt string) string
Types ¶
type AdditionalInformation ¶
type AdditionalInformation *AdditionalInformationType
AdditionalInformation ...
type AdditionalInformationType ¶
type AdditionalInformationType struct {
TextualInformation []*MultiLangStringType `xml:"TextualInformation"`
OtherInformation []*AnyType `xml:"OtherInformation"`
}
AdditionalInformationType ...
type AdditionalServiceInformation ¶
type AdditionalServiceInformation *AdditionalServiceInformationType
AdditionalServiceInformation ...
type AdditionalServiceInformationType ¶
type AdditionalServiceInformationType struct {
URI *NonEmptyMultiLangURIType `xml:"URI"`
InformationValue string `xml:"InformationValue,omitempty"`
OtherInformation *AnyType `xml:"OtherInformation,omitempty"`
}
AdditionalServiceInformationType ...
type AddressType ¶
type AddressType struct {
TslPostalAddresses *PostalAddressListType `xml:"PostalAddresses"`
TslElectronicAddress *ElectronicAddressType `xml:"ElectronicAddress"`
}
AddressType ...
type AllDataObjectsTimeStamp ¶
type AllDataObjectsTimeStamp *XAdESTimeStampType
AllDataObjectsTimeStamp ...
type AllSignedDataObjects ¶
type AllSignedDataObjects AnyType
type AttrAuthoritiesCertValues ¶
type AttrAuthoritiesCertValues *CertificateValuesType
AttrAuthoritiesCertValues ...
type AttributeCertificateRefs ¶
type AttributeCertificateRefs *CompleteCertificateRefsType
AttributeCertificateRefs ...
type AttributeRevocationRefs ¶
type AttributeRevocationRefs *CompleteRevocationRefsType
AttributeRevocationRefs ...
type AttributeRevocationValues ¶
type AttributeRevocationValues *RevocationValuesType
AttributeRevocationValues ...
type AttributedNonEmptyURIType ¶
type AttributedNonEmptyURIType struct {
TypeAttr string `xml:"type,attr,omitempty"`
Value string `xml:",chardata"`
}
AttributedNonEmptyURIType ...
type CRLIdentifierType ¶
type CRLIdentifierType struct {
URIAttr string `xml:"URI,attr,omitempty"`
Issuer string `xml:"Issuer"`
IssueTime string `xml:"IssueTime"`
Number int `xml:"Number,omitempty"`
}
CRLIdentifierType ...
type CRLRefType ¶
type CRLRefType struct {
DigestAlgAndValue *DigestAlgAndValueType `xml:"DigestAlgAndValue"`
CRLIdentifier *CRLIdentifierType `xml:"CRLIdentifier,omitempty"`
}
CRLRefType ...
type CRLValuesType ¶
type CRLValuesType struct {
EncapsulatedCRLValue []*EncapsulatedPKIDataType `xml:"EncapsulatedCRLValue"`
}
CRLValuesType ...
type CanonicalizationMethod ¶
type CanonicalizationMethod *CanonicalizationMethodType
CanonicalizationMethod ...
type CanonicalizationMethodType ¶
type CanonicalizationMethodType struct {
AlgorithmAttr string `xml:"Algorithm,attr"`
}
CanonicalizationMethodType ...
type CertIDListType ¶
type CertIDListType struct {
Cert []*CertIDType `xml:"Cert"`
}
CertIDListType ...
type CertIDType ¶
type CertIDType struct {
URIAttr string `xml:"URI,attr,omitempty"`
CertDigest *DigestAlgAndValueType `xml:"CertDigest"`
IssuerSerial *X509IssuerSerialType `xml:"IssuerSerial"`
}
CertIDType ...
type CertSubjectDNAttribute ¶
type CertSubjectDNAttribute *CertSubjectDNAttributeType
CertSubjectDNAttribute ...
type CertSubjectDNAttributeType ¶
type CertSubjectDNAttributeType struct {
AttributeOID *ObjectIdentifierType `xml:"AttributeOID"`
}
CertSubjectDNAttributeType ...
type CertificateValuesType ¶
type CertificateValuesType struct {
IdAttr string `xml:"Id,attr,omitempty"`
EncapsulatedX509Certificate []*EncapsulatedPKIDataType `xml:"EncapsulatedX509Certificate"`
OtherCertificate []*AnyType `xml:"OtherCertificate"`
}
CertificateValuesType ...
type CertifiedRolesListType ¶
type CertifiedRolesListType struct {
CertifiedRole []*EncapsulatedPKIDataType `xml:"CertifiedRole"`
}
CertifiedRolesListType ...
type ClaimedRolesListType ¶
type ClaimedRolesListType struct {
ClaimedRole []*AnyType `xml:"ClaimedRole"`
}
ClaimedRolesListType ...
type CommitmentTypeIndication ¶
type CommitmentTypeIndication *CommitmentTypeIndicationType
CommitmentTypeIndication ...
type CommitmentTypeIndicationType ¶
type CommitmentTypeIndicationType struct {
CommitmentTypeId *ObjectIdentifierType `xml:"CommitmentTypeId"`
ObjectReference []string `xml:"ObjectReference"`
AllSignedDataObjects *AllSignedDataObjects `xml:"AllSignedDataObjects"`
CommitmentTypeQualifiers *CommitmentTypeQualifiersListType `xml:"CommitmentTypeQualifiers,omitempty"`
}
CommitmentTypeIndicationType ...
type CommitmentTypeQualifiersListType ¶
type CommitmentTypeQualifiersListType struct {
CommitmentTypeQualifier []*AnyType `xml:"CommitmentTypeQualifier,omitempty"`
}
CommitmentTypeQualifiersListType ...
type CompleteCertificateRefs ¶
type CompleteCertificateRefs *CompleteCertificateRefsType
CompleteCertificateRefs ...
type CompleteCertificateRefsType ¶
type CompleteCertificateRefsType struct {
IdAttr string `xml:"Id,attr,omitempty"`
CertRefs *CertIDListType `xml:"CertRefs"`
}
CompleteCertificateRefsType ...
type CompleteRevocationRefs ¶
type CompleteRevocationRefs *CompleteRevocationRefsType
CompleteRevocationRefs ...
type CompleteRevocationRefsType ¶
type CompleteRevocationRefsType struct {
IdAttr string `xml:"Id,attr,omitempty"`
CRLRefs *CRLRefsType `xml:"CRLRefs,omitempty"`
OCSPRefs *OCSPRefsType `xml:"OCSPRefs,omitempty"`
OtherRefs *OtherCertStatusRefsType `xml:"OtherRefs,omitempty"`
}
CompleteRevocationRefsType ...
type CounterSignatureType ¶
type CounterSignatureType struct {
DsSignature *Signature `xml:"ds:Signature"`
}
CounterSignatureType ...
type CriteriaListType ¶
type CriteriaListType struct {
AssertAttr string `xml:"assert,attr,omitempty"`
KeyUsage []*KeyUsageType `xml:"KeyUsage,omitempty"`
PolicySet []*PoliciesListType `xml:"PolicySet,omitempty"`
CriteriaList []*CriteriaListType `xml:"CriteriaList,omitempty"`
Description string `xml:"Description,omitempty"`
OtherCriteriaList *AnyType `xml:"otherCriteriaList,omitempty"`
}
CriteriaListType ...
type DSAKeyValueType ¶
type DSAKeyValueType struct {
P string `xml:"P"`
Q string `xml:"Q"`
G string `xml:"G,omitempty"`
Y string `xml:"Y"`
J string `xml:"J,omitempty"`
Seed string `xml:"Seed"`
PgenCounter string `xml:"PgenCounter"`
}
DSAKeyValueType ...
type DataObjectFormatType ¶
type DataObjectFormatType struct {
ObjectReferenceAttr string `xml:"ObjectReference,attr"`
Description string `xml:"Description,omitempty"`
ObjectIdentifier *ObjectIdentifierType `xml:"ObjectIdentifier,omitempty"`
MimeType string `xml:"MimeType,omitempty"`
Encoding string `xml:"Encoding,omitempty"`
}
DataObjectFormatType ...
type DigestAlgAndValueType ¶
type DigestAlgAndValueType struct {
DsDigestMethod *DigestMethod `xml:"ds:DigestMethod"`
DsDigestValue *DigestValue `xml:"ds:DigestValue"`
}
DigestAlgAndValueType ...
type DigestMethodType ¶
type DigestMethodType struct {
AlgorithmAttr string `xml:"Algorithm,attr"`
}
DigestMethodType ...
type DigitalIdentityListType ¶
type DigitalIdentityListType struct {
DigitalId []*DigitalIdentityType `xml:"DigitalId,omitempty"`
}
DigitalIdentityListType ...
type DigitalIdentityType ¶
type DigitalIdentityType struct {
X509Certificate string `xml:"X509Certificate"`
X509SubjectName string `xml:"X509SubjectName"`
DsKeyValue *KeyValue `xml:"ds:KeyValue"`
X509SKI string `xml:"X509SKI"`
Other *AnyType `xml:"Other,omitempty"`
}
DigitalIdentityType ...
type DocumentationReferencesType ¶
type DocumentationReferencesType struct {
DocumentationReference string `xml:"DocumentationReference"`
}
DocumentationReferencesType ...
type ElectronicAddressType ¶
type ElectronicAddressType struct {
URI []*NonEmptyMultiLangURIType `xml:"URI"`
}
ElectronicAddressType ...
type EncapsulatedPKIData ¶
type EncapsulatedPKIData *EncapsulatedPKIDataType
EncapsulatedPKIData ...
type EncapsulatedPKIDataType ¶
type EncapsulatedPKIDataType struct {
IdAttr string `xml:"Id,attr,omitempty"`
EncodingAttr string `xml:"Encoding,attr,omitempty"`
Value string `xml:",chardata"`
}
EncapsulatedPKIDataType ...
type ExpiredCertsRevocationInfo ¶
type ExpiredCertsRevocationInfo string
ExpiredCertsRevocationInfo ...
type ExtendedKeyUsageType ¶
type ExtendedKeyUsageType struct {
KeyPurposeId *ObjectIdentifierType `xml:"KeyPurposeId"`
}
ExtendedKeyUsageType ...
type ExtensionType ¶
ExtensionType ...
type ExtensionsListType ¶
type ExtensionsListType struct {
TslExtension []*ExtensionType `xml:"Extension"`
}
ExtensionsListType ...
type GenericTimeStampType ¶
type GenericTimeStampType struct {
IdAttr string `xml:"Id,attr,omitempty"`
Include []*IncludeType `xml:"Include,omitempty"`
ReferenceInfo []*ReferenceInfoType `xml:"ReferenceInfo"`
DsCanonicalizationMethod *CanonicalizationMethod `xml:"ds:CanonicalizationMethod,omitempty"`
EncapsulatedTimeStamp []*EncapsulatedPKIDataType `xml:"EncapsulatedTimeStamp"`
XMLTimeStamp []*AnyType `xml:"XMLTimeStamp"`
}
GenericTimeStampType ...
type IdentifierType ¶
type IdentifierType struct {
QualifierAttr *QualifierType `xml:"Qualifier,attr,omitempty"`
Value string `xml:",chardata"`
}
IdentifierType ...
type IncludeType ¶
type IncludeType struct {
URIAttr string `xml:"URI,attr"`
ReferencedDataAttr bool `xml:"referencedData,attr,omitempty"`
}
IncludeType ...
type IndividualDataObjectsTimeStamp ¶
type IndividualDataObjectsTimeStamp *XAdESTimeStampType
IndividualDataObjectsTimeStamp ...
type IntegerListType ¶
type IntegerListType struct {
Int []int `xml:"int,omitempty"`
}
IntegerListType ...
type InternationalNamesType ¶
type InternationalNamesType struct {
Name []*MultiLangNormStringType `xml:"Name"`
}
InternationalNamesType ...
type KeyInfoType ¶
type KeyInfoType struct {
IdAttr string `xml:"Id,attr,omitempty"`
DsKeyName []string `xml:"ds:KeyName"`
DsKeyValue []*KeyValueType `xml:"ds:KeyValue"`
DsRetrievalMethod []*RetrievalMethodType `xml:"ds:RetrievalMethod"`
DsX509Data []*X509DataType `xml:"ds:X509Data"`
DsPGPData []*PGPDataType `xml:"ds:PGPData"`
DsSPKIData []*SPKIDataType `xml:"ds:SPKIData"`
DsMgmtData []string `xml:"ds:MgmtData"`
}
KeyInfoType ...
type KeyUsageBitType ¶
type KeyUsageBitType struct {
NameAttr string `xml:"name,attr,omitempty"`
Value bool `xml:",chardata"`
}
KeyUsageBitType ...
type KeyUsageType ¶
type KeyUsageType struct {
KeyUsageBit *KeyUsageBitType `xml:"KeyUsageBit"`
}
KeyUsageType ...
type KeyValueType ¶
type KeyValueType struct {
DsDSAKeyValue *DSAKeyValueType `xml:"ds:DSAKeyValue"`
DsRSAKeyValue *RSAKeyValueType `xml:"ds:RSAKeyValue"`
}
KeyValueType ...
type ManifestType ¶
type ManifestType struct {
IdAttr string `xml:"Id,attr,omitempty"`
DsReference []*ReferenceType `xml:"ds:Reference"`
}
ManifestType ...
type MultiLangNormStringType ¶
type MultiLangNormStringType struct {
XmlLangAttr *Lang `xml:"lang,attr"`
*NonEmptyNormalizedString `xml:",chardata"`
}
MultiLangNormStringType ...
type MultiLangStringType ¶
type MultiLangStringType struct {
XmlLangAttr *Lang `xml:"lang,attr"`
*NonEmptyString `xml:",chardata"`
}
MultiLangStringType ...
type NextUpdateType ¶
type NextUpdateType struct {
DateTime string `xml:"dateTime,omitempty"`
}
NextUpdateType ...
type NonEmptyMultiLangURIListType ¶
type NonEmptyMultiLangURIListType struct {
URI []*NonEmptyMultiLangURIType `xml:"URI"`
}
NonEmptyMultiLangURIListType ...
type NonEmptyMultiLangURIType ¶
type NonEmptyMultiLangURIType struct {
XmlLangAttr *Lang `xml:"lang,attr"`
Value string `xml:",chardata"`
}
NonEmptyMultiLangURIType ...
type NonEmptyURIListType ¶
type NonEmptyURIListType struct {
URI []string `xml:"URI"`
}
NonEmptyURIListType ...
type NoticeReferenceType ¶
type NoticeReferenceType struct {
Organization string `xml:"Organization"`
NoticeNumbers *IntegerListType `xml:"NoticeNumbers"`
}
NoticeReferenceType ...
type OCSPIdentifierType ¶
type OCSPIdentifierType struct {
URIAttr string `xml:"URI,attr,omitempty"`
ResponderID *ResponderIDType `xml:"ResponderID"`
ProducedAt string `xml:"ProducedAt"`
}
OCSPIdentifierType ...
type OCSPRefType ¶
type OCSPRefType struct {
OCSPIdentifier *OCSPIdentifierType `xml:"OCSPIdentifier"`
DigestAlgAndValue *DigestAlgAndValueType `xml:"DigestAlgAndValue,omitempty"`
}
OCSPRefType ...
type OCSPRefsType ¶
type OCSPRefsType struct {
OCSPRef []*OCSPRefType `xml:"OCSPRef"`
}
OCSPRefsType ...
type OCSPValuesType ¶
type OCSPValuesType struct {
EncapsulatedOCSPValue []*EncapsulatedPKIDataType `xml:"EncapsulatedOCSPValue"`
}
OCSPValuesType ...
type ObjectIdentifierType ¶
type ObjectIdentifierType struct {
Identifier *IdentifierType `xml:"Identifier"`
Description string `xml:"Description,omitempty"`
DocumentationReferences *DocumentationReferencesType `xml:"DocumentationReferences,omitempty"`
}
ObjectIdentifierType ...
type ObjectType ¶
type ObjectType struct {
IdAttr string `xml:"Id,attr,omitempty"`
MimeTypeAttr string `xml:"MimeType,attr,omitempty"`
EncodingAttr string `xml:"Encoding,attr,omitempty"`
}
ObjectType ...
type OtherCertStatusRefsType ¶
type OtherCertStatusRefsType struct {
OtherRef []*AnyType `xml:"OtherRef"`
}
OtherCertStatusRefsType ...
type OtherCertStatusValuesType ¶
type OtherCertStatusValuesType struct {
OtherValue []*AnyType `xml:"OtherValue"`
}
OtherCertStatusValuesType ...
type OtherTSLPointerType ¶
type OtherTSLPointerType struct {
TslServiceDigitalIdentities *ServiceDigitalIdentityListType `xml:"ServiceDigitalIdentities,omitempty"`
TSLLocation string `xml:"TSLLocation"`
TslAdditionalInformation *AdditionalInformationType `xml:"AdditionalInformation,omitempty"`
}
OtherTSLPointerType ...
type OtherTSLPointersType ¶
type OtherTSLPointersType struct {
TslOtherTSLPointer []*OtherTSLPointerType `xml:"OtherTSLPointer"`
}
OtherTSLPointersType ...
type OtherTimeStampType ¶
type OtherTimeStampType struct {
IdAttr string `xml:"Id,attr,omitempty"`
ReferenceInfo []*ReferenceInfoType `xml:"ReferenceInfo"`
DsCanonicalizationMethod *CanonicalizationMethod `xml:"ds:CanonicalizationMethod,omitempty"`
EncapsulatedTimeStamp *EncapsulatedPKIDataType `xml:"EncapsulatedTimeStamp"`
XMLTimeStamp *AnyType `xml:"XMLTimeStamp"`
}
OtherTimeStampType ...
type PGPDataType ¶
type PGPDataType struct {
PGPKeyID string `xml:"PGPKeyID"`
PGPKeyPacket string `xml:"PGPKeyPacket,omitempty"`
}
PGPDataType ...
type PoliciesListType ¶
type PoliciesListType struct {
PolicyIdentifier *ObjectIdentifierType `xml:"PolicyIdentifier"`
}
PoliciesListType ...
type PolicyOrLegalNotice ¶
type PolicyOrLegalNotice *PolicyOrLegalnoticeType
PolicyOrLegalNotice ...
type PolicyOrLegalnoticeType ¶
type PolicyOrLegalnoticeType struct {
TSLPolicy []*NonEmptyMultiLangURIType `xml:"TSLPolicy"`
TSLLegalNotice []*MultiLangStringType `xml:"TSLLegalNotice"`
}
PolicyOrLegalnoticeType ...
type PostalAddressListType ¶
type PostalAddressListType struct {
TslPostalAddress []*PostalAddressType `xml:"PostalAddress"`
}
PostalAddressListType ...
type PostalAddressType ¶
type PostalAddressType struct {
XmlLangAttr *Lang `xml:"lang,attr"`
StreetAddress string `xml:"StreetAddress"`
Locality string `xml:"Locality"`
StateOrProvince string `xml:"StateOrProvince,omitempty"`
PostalCode string `xml:"PostalCode,omitempty"`
CountryName string `xml:"CountryName"`
}
PostalAddressType ...
type QualificationElementType ¶
type QualificationElementType struct {
Qualifiers *QualifiersType `xml:"Qualifiers"`
CriteriaList *CriteriaListType `xml:"CriteriaList"`
}
QualificationElementType ...
type QualificationsType ¶
type QualificationsType struct {
QualificationElement *QualificationElementType `xml:"QualificationElement"`
}
QualificationsType ...
type QualifierType ¶
type QualifierType struct {
UriAttr string `xml:"uri,attr,omitempty"`
}
QualifierType ...
type QualifiersType ¶
type QualifiersType struct {
Qualifier *QualifierType `xml:"Qualifier"`
}
QualifiersType ...
type QualifyingProperties ¶
type QualifyingProperties *QualifyingPropertiesType
QualifyingProperties ...
type QualifyingPropertiesReference ¶
type QualifyingPropertiesReference *QualifyingPropertiesReferenceType
QualifyingPropertiesReference ...
type QualifyingPropertiesReferenceType ¶
type QualifyingPropertiesReferenceType struct {
URIAttr string `xml:"URI,attr"`
IdAttr string `xml:"Id,attr,omitempty"`
}
QualifyingPropertiesReferenceType ...
type QualifyingPropertiesType ¶
type QualifyingPropertiesType struct {
TargetAttr string `xml:"Target,attr"`
IdAttr string `xml:"Id,attr,omitempty"`
SignedProperties *SignedPropertiesType `xml:"SignedProperties,omitempty"`
UnsignedProperties *UnsignedPropertiesType `xml:"UnsignedProperties,omitempty"`
}
QualifyingPropertiesType ...
type RSAKeyValueType ¶
RSAKeyValueType ...
type ReferenceInfoType ¶
type ReferenceInfoType struct {
IdAttr string `xml:"Id,attr,omitempty"`
URIAttr string `xml:"URI,attr,omitempty"`
DsDigestMethod *DigestMethod `xml:"ds:DigestMethod"`
DsDigestValue *DigestValue `xml:"ds:DigestValue"`
}
ReferenceInfoType ...
type ReferenceType ¶
type ReferenceType struct {
IdAttr string `xml:"Id,attr,omitempty"`
URIAttr string `xml:"URI,attr,omitempty"`
TypeAttr string `xml:"Type,attr,omitempty"`
DsTransforms *TransformsType `xml:"ds:Transforms,omitempty"`
DsDigestMethod *DigestMethodType `xml:"ds:DigestMethod"`
DsDigestValue *DigestValueType `xml:"ds:DigestValue"`
}
ReferenceType ...
type ResponderIDType ¶
ResponderIDType ...
type RetrievalMethodType ¶
type RetrievalMethodType struct {
URIAttr string `xml:"URI,attr,omitempty"`
TypeAttr string `xml:"Type,attr,omitempty"`
DsTransforms *TransformsType `xml:"ds:Transforms,omitempty"`
}
RetrievalMethodType ...
type RevocationValuesType ¶
type RevocationValuesType struct {
IdAttr string `xml:"Id,attr,omitempty"`
CRLValues *CRLValuesType `xml:"CRLValues,omitempty"`
OCSPValues *OCSPValuesType `xml:"OCSPValues,omitempty"`
OtherValues *OtherCertStatusValuesType `xml:"OtherValues,omitempty"`
}
RevocationValuesType ...
type SPUserNoticeType ¶
type SPUserNoticeType struct {
NoticeRef *NoticeReferenceType `xml:"NoticeRef,omitempty"`
ExplicitText string `xml:"ExplicitText,omitempty"`
}
SPUserNoticeType ...
type SchemeInformationURI ¶
type SchemeInformationURI *NonEmptyMultiLangURIListType
SchemeInformationURI ...
type SchemeTypeCommunityRules ¶
type SchemeTypeCommunityRules *NonEmptyMultiLangURIListType
SchemeTypeCommunityRules ...
type ServiceDigitalIdentities ¶
type ServiceDigitalIdentities *ServiceDigitalIdentityListType
ServiceDigitalIdentities ...
type ServiceDigitalIdentity ¶
type ServiceDigitalIdentity *DigitalIdentityListType
ServiceDigitalIdentity ...
type ServiceDigitalIdentityListType ¶
type ServiceDigitalIdentityListType struct {
TslServiceDigitalIdentity []*DigitalIdentityListType `xml:"ServiceDigitalIdentity"`
}
ServiceDigitalIdentityListType ...
type ServiceHistoryInstance ¶
type ServiceHistoryInstance *ServiceHistoryInstanceType
ServiceHistoryInstance ...
type ServiceHistoryInstanceType ¶
type ServiceHistoryInstanceType struct {
TslServiceTypeIdentifier string `xml:"ServiceTypeIdentifier"`
ServiceName *InternationalNamesType `xml:"ServiceName"`
TslServiceDigitalIdentity *DigitalIdentityListType `xml:"ServiceDigitalIdentity"`
TslServiceStatus string `xml:"ServiceStatus"`
StatusStartingTime string `xml:"StatusStartingTime"`
ServiceInformationExtensions *ExtensionsListType `xml:"ServiceInformationExtensions,omitempty"`
}
ServiceHistoryInstanceType ...
type ServiceHistoryType ¶
type ServiceHistoryType struct {
TslServiceHistoryInstance []*ServiceHistoryInstanceType `xml:"ServiceHistoryInstance,omitempty"`
}
ServiceHistoryType ...
type ServiceSupplyPoints ¶
type ServiceSupplyPoints *ServiceSupplyPointsType
ServiceSupplyPoints ...
type ServiceSupplyPointsType ¶
type ServiceSupplyPointsType struct {
ServiceSupplyPoint *AttributedNonEmptyURIType `xml:"ServiceSupplyPoint"`
}
ServiceSupplyPointsType ...
type SigPolicyQualifiersListType ¶
type SigPolicyQualifiersListType struct {
SigPolicyQualifier []*AnyType `xml:"SigPolicyQualifier"`
}
SigPolicyQualifiersListType ...
type SignatureMethodType ¶
type SignatureMethodType struct {
AlgorithmAttr string `xml:"Algorithm,attr"`
HMACOutputLength int `xml:"HMACOutputLength,omitempty"`
}
SignatureMethodType ...
type SignaturePolicyIdType ¶
type SignaturePolicyIdType struct {
SigPolicyId *ObjectIdentifierType `xml:"SigPolicyId"`
DsTransforms *Transforms `xml:"ds:Transforms,omitempty"`
SigPolicyHash *DigestAlgAndValueType `xml:"SigPolicyHash"`
SigPolicyQualifiers *SigPolicyQualifiersListType `xml:"SigPolicyQualifiers,omitempty"`
}
SignaturePolicyIdType ...
type SignaturePolicyIdentifier ¶
type SignaturePolicyIdentifier *SignaturePolicyIdentifierType
SignaturePolicyIdentifier ...
type SignaturePolicyIdentifierType ¶
type SignaturePolicyIdentifierType struct {
SignaturePolicyId *SignaturePolicyIdType `xml:"SignaturePolicyId"`
SignaturePolicyImplied *SignaturePolicyImplied `xml:"SignaturePolicyImplied"`
}
SignaturePolicyIdentifierType ...
type SignatureProductionPlace ¶
type SignatureProductionPlace *SignatureProductionPlaceType
SignatureProductionPlace ...
type SignatureProductionPlaceType ¶
type SignatureProductionPlaceType struct {
City string `xml:"City,omitempty"`
StateOrProvince string `xml:"StateOrProvince,omitempty"`
PostalCode string `xml:"PostalCode,omitempty"`
CountryName string `xml:"CountryName,omitempty"`
}
SignatureProductionPlaceType ...
type SignatureProperties ¶
type SignatureProperties *SignaturePropertiesType
SignatureProperties ...
type SignaturePropertiesType ¶
type SignaturePropertiesType struct {
IdAttr string `xml:"Id,attr,omitempty"`
DsSignatureProperty []*SignaturePropertyType `xml:"ds:SignatureProperty"`
}
SignaturePropertiesType ...
type SignaturePropertyType ¶
type SignaturePropertyType struct {
TargetAttr string `xml:"Target,attr"`
IdAttr string `xml:"Id,attr,omitempty"`
}
SignaturePropertyType ...
type SignatureType ¶
type SignatureType struct {
IdAttr string `xml:"Id,attr,omitempty"`
DsSignedInfo *SignedInfoType `xml:"ds:SignedInfo"`
DsSignatureValue *SignatureValueType `xml:"ds:SignatureValue"`
DsKeyInfo *KeyInfoType `xml:"ds:KeyInfo,omitempty"`
DsObject []*ObjectType `xml:"ds:Object,omitempty"`
}
SignatureType ...
type SignatureValueType ¶
type SignatureValueType struct {
IdAttr string `xml:"Id,attr,omitempty"`
Value string `xml:",chardata"`
}
SignatureValueType ...
type SignedDataObjectProperties ¶
type SignedDataObjectProperties *SignedDataObjectPropertiesType
SignedDataObjectProperties ...
type SignedDataObjectPropertiesType ¶
type SignedDataObjectPropertiesType struct {
IdAttr string `xml:"Id,attr,omitempty"`
DataObjectFormat []*DataObjectFormatType `xml:"DataObjectFormat,omitempty"`
CommitmentTypeIndication []*CommitmentTypeIndicationType `xml:"CommitmentTypeIndication,omitempty"`
AllDataObjectsTimeStamp []*XAdESTimeStampType `xml:"AllDataObjectsTimeStamp,omitempty"`
IndividualDataObjectsTimeStamp []*XAdESTimeStampType `xml:"IndividualDataObjectsTimeStamp,omitempty"`
}
SignedDataObjectPropertiesType ...
type SignedInfoType ¶
type SignedInfoType struct {
IdAttr string `xml:"Id,attr,omitempty"`
DsCanonicalizationMethod *CanonicalizationMethodType `xml:"ds:CanonicalizationMethod"`
DsSignatureMethod *SignatureMethodType `xml:"ds:SignatureMethod"`
DsReference []*ReferenceType `xml:"ds:Reference"`
}
SignedInfoType ...
type SignedPropertiesType ¶
type SignedPropertiesType struct {
IdAttr string `xml:"Id,attr,omitempty"`
SignedSignatureProperties *SignedSignaturePropertiesType `xml:"SignedSignatureProperties,omitempty"`
SignedDataObjectProperties *SignedDataObjectPropertiesType `xml:"SignedDataObjectProperties,omitempty"`
}
SignedPropertiesType ...
type SignedSignatureProperties ¶
type SignedSignatureProperties *SignedSignaturePropertiesType
SignedSignatureProperties ...
type SignedSignaturePropertiesType ¶
type SignedSignaturePropertiesType struct {
IdAttr string `xml:"Id,attr,omitempty"`
SigningTime string `xml:"SigningTime,omitempty"`
SigningCertificate *CertIDListType `xml:"SigningCertificate,omitempty"`
SignaturePolicyIdentifier *SignaturePolicyIdentifierType `xml:"SignaturePolicyIdentifier,omitempty"`
SignatureProductionPlace *SignatureProductionPlaceType `xml:"SignatureProductionPlace,omitempty"`
SignerRole *SignerRoleType `xml:"SignerRole,omitempty"`
}
SignedSignaturePropertiesType ...
type SignerRoleType ¶
type SignerRoleType struct {
ClaimedRoles *ClaimedRolesListType `xml:"ClaimedRoles,omitempty"`
CertifiedRoles *CertifiedRolesListType `xml:"CertifiedRoles,omitempty"`
}
SignerRoleType ...
type TSL ¶
type TSL struct {
StatusList TrustStatusListType `xml:"tsl:TrustServiceStatusList"`
Source string
Signed bool
Signer x509.Certificate
Referenced []*TSL
}
A representation of an ETSI 119 612 trust status list. The main struct type StatusList is autogenerated from the v2 XML Schema definition.
func FetchTSL ¶
FetchTSL creates a TSL object from a URL. The URL is fetched with net/http, parsed and unmarshalled into the object structure. This function uses DefaultTSLFetchOptions and automatically dereferences pointers to other TSLs.
For more control over HTTP parameters and dereferencing behavior, use FetchTSLWithOptions.
Returns the root TSL only. For accessing referenced TSLs, use FetchTSLWithAllReferences.
func FetchTSLWithAllReferences ¶
FetchTSLWithAllReferences fetches a TSL and all its referenced TSLs using default options. This returns all TSLs in a slice, with the root TSL being the first element.
Parameters:
- url: The URL to fetch the TSL from
Returns:
- A slice containing the root TSL and all referenced TSLs
- Any error that occurred during fetching
func FetchTSLWithOptions ¶
func FetchTSLWithOptions(url string, options TSLFetchOptions) (*TSL, error)
FetchTSLWithOptions creates a TSL object from a URL with custom fetch options. The URL is fetched with net/http using the provided options, parsed and unmarshalled into the object structure.
Unlike FetchTSL, this function does not automatically dereference pointers to other TSLs. To fetch a TSL and all its referenced TSLs with the same options, use FetchTSLWithReferencesAndOptions.
Parameters:
- url: The URL to fetch the TSL from (supports file:// URLs for local files)
- options: Options controlling HTTP request parameters
Returns:
- A pointer to the fetched and parsed TSL
- Any error that occurred during fetching or parsing
func FetchTSLWithReferencesAndOptions ¶
func FetchTSLWithReferencesAndOptions(url string, options TSLFetchOptions) ([]*TSL, error)
FetchTSLWithReferencesAndOptions fetches a TSL and all its referenced TSLs with the specified options. This is a convenience function that combines FetchTSLWithOptions and dereferencePointersToOtherTSLWithOptions. The depth of dereferencing is controlled by options.MaxDereferenceDepth.
Parameters:
- url: The URL to fetch the TSL from
- options: Options controlling HTTP request parameters and dereferencing depth
Returns:
- A slice containing the fetched TSL and all its referenced TSLs (if any)
- Any error that occurred during fetching or parsing the root TSL
The first element in the returned slice is always the root TSL. Any referenced TSLs that were successfully fetched follow in the slice. This allows callers to process both the root TSL and all its references without having to traverse the reference tree.
func (*TSL) AddReferencedTSL ¶
func (*TSL) CleanCerts ¶
func (tsl *TSL) CleanCerts()
CleanCerts trims whitespace from all certificates in the TSL.
func (*TSL) DereferencePointersToOtherTSL ¶
func (tsl *TSL) DereferencePointersToOtherTSL()
DereferencePointersToOtherTSL fetches and adds all referenced TSLs using default options. This examines the TSL for pointers to other TSLs (TslPointersToOtherTSL) and fetches each of them using the default fetch options.
func (*TSL) NumberOfTrustServiceProviders ¶
func (*TSL) SchemeOperatorName ¶
func (*TSL) Summary ¶
Summary returns a human-readable summary of scheme-level information for this TSL.
func (*TSL) ToCertPool ¶
func (tsl *TSL) ToCertPool(policy *TSPServicePolicy) *x509.CertPool
Generate a crypto/xml.CertPool object from the TSL.
func (*TSL) ToCertPoolWithReferences ¶
func (tsl *TSL) ToCertPoolWithReferences(policy *TSPServicePolicy) *x509.CertPool
ToCertPoolWithReferences generates a crypto/xml.CertPool object from the TSL and all its referenced TSLs. This method processes this TSL and all TSLs found in the Referenced slice.
Parameters:
- policy: The policy to apply when validating certificates
Returns:
- *x509.CertPool: A certificate pool containing all valid certificates from this TSL and all its referenced TSLs that satisfy the given policy
func (*TSL) WithTrustServices ¶
func (tsl *TSL) WithTrustServices(cb func(*TSPType, *TSPServiceType))
WithTrustServices walks a TSL, calling cb once for each TrustService found. The TrustServiceProvider is provided as a first argument to the callback
type TSLFetchOptions ¶
type TSLFetchOptions struct {
// UserAgent is the User-Agent header to use for HTTP requests.
// A descriptive User-Agent helps server administrators identify client applications
// and can prevent blocking of requests that don't identify themselves.
UserAgent string
// Timeout is the maximum time to wait for an HTTP request to complete.
// This helps prevent applications from hanging indefinitely when servers are
// unresponsive or connections are slow.
Timeout time.Duration
// Client is a custom HTTP client to use instead of the default one.
// If provided, the Timeout option is ignored as the client should be
// configured with the desired timeout and other settings.
// Use this for advanced scenarios like custom TLS configuration or proxies.
Client *http.Client
// MaxDereferenceDepth controls how many levels of TSL references are followed.
// A value of 0 means no references are followed.
// A value of -1 means follow references without a limit (be careful with this).
// Any positive value limits the depth of reference traversal.
MaxDereferenceDepth int
// AcceptHeaders defines the Accept header(s) to send with HTTP requests.
// This helps with content negotiation to ensure we receive XML content.
// If empty, a default set of XML-related Accept headers will be used.
AcceptHeaders []string
}
TSLFetchOptions defines configurable options for fetching Trust Service Lists. It allows controlling HTTP request parameters like User-Agent and timeout.
The options provide control over:
- The User-Agent header sent with HTTP requests
- The timeout for HTTP connections and requests
- Using a custom HTTP client for more advanced configuration
- The maximum depth for dereferencing pointers to other TSLs
For most cases, the DefaultTSLFetchOptions provide reasonable settings.
type TSLSchemeInformationType ¶
type TSLSchemeInformationType struct {
TSLVersionIdentifier int `xml:"TSLVersionIdentifier"`
TSLSequenceNumber int `xml:"TSLSequenceNumber"`
TslTSLType string `xml:"TSLType"`
TslSchemeOperatorName *InternationalNamesType `xml:"SchemeOperatorName"`
SchemeOperatorAddress *AddressType `xml:"SchemeOperatorAddress"`
TslSchemeName *InternationalNamesType `xml:"SchemeName"`
TslSchemeInformationURI *NonEmptyMultiLangURIListType `xml:"SchemeInformationURI"`
StatusDeterminationApproach string `xml:"StatusDeterminationApproach"`
TslSchemeTypeCommunityRules *NonEmptyMultiLangURIListType `xml:"SchemeTypeCommunityRules,omitempty"`
TslSchemeTerritory string `xml:"SchemeTerritory,omitempty"`
TslPolicyOrLegalNotice *PolicyOrLegalnoticeType `xml:"PolicyOrLegalNotice,omitempty"`
HistoricalInformationPeriod int `xml:"HistoricalInformationPeriod"`
TslPointersToOtherTSL *OtherTSLPointersType `xml:"PointersToOtherTSL,omitempty"`
ListIssueDateTime string `xml:"ListIssueDateTime"`
TslNextUpdate *NextUpdateType `xml:"NextUpdate"`
TslDistributionPoints *NonEmptyURIListType `xml:"DistributionPoints,omitempty"`
SchemeExtensions *ExtensionsListType `xml:"SchemeExtensions,omitempty"`
}
TSLSchemeInformationType ...
type TSPInformationType ¶
type TSPInformationType struct {
TSPName *InternationalNamesType `xml:"TSPName"`
TSPTradeName *InternationalNamesType `xml:"TSPTradeName,omitempty"`
TSPAddress *AddressType `xml:"TSPAddress"`
TSPInformationURI *NonEmptyMultiLangURIListType `xml:"TSPInformationURI"`
TSPInformationExtensions *ExtensionsListType `xml:"TSPInformationExtensions,omitempty"`
}
TSPInformationType ...
type TSPServiceInformationType ¶
type TSPServiceInformationType struct {
TslServiceTypeIdentifier string `xml:"ServiceTypeIdentifier"`
ServiceName *InternationalNamesType `xml:"ServiceName"`
TslServiceDigitalIdentity *DigitalIdentityListType `xml:"ServiceDigitalIdentity"`
TslServiceStatus string `xml:"ServiceStatus"`
StatusStartingTime string `xml:"StatusStartingTime"`
SchemeServiceDefinitionURI *NonEmptyMultiLangURIListType `xml:"SchemeServiceDefinitionURI,omitempty"`
TslServiceSupplyPoints *ServiceSupplyPointsType `xml:"ServiceSupplyPoints,omitempty"`
TSPServiceDefinitionURI *NonEmptyMultiLangURIListType `xml:"TSPServiceDefinitionURI,omitempty"`
ServiceInformationExtensions *ExtensionsListType `xml:"ServiceInformationExtensions,omitempty"`
}
TSPServiceInformationType ...
type TSPServicePolicy ¶
A struct representing configuration of the validation process. By default the ServiceStatus field contains a single element (ServiceStatusGranted) that represents the standardized value for indicating that the trust service provider is valid and granted access in the trust status list (ie not withdrawn). The ServiceTypeIdentifier is a list of allowed service types. When creating the CertPool for use in certificate validation the ServiceTypeIdentifier can be populated with a list of allowed types. If left empty this means every service type is allowed.
func NewTSPServicePolicy ¶
func NewTSPServicePolicy() *TSPServicePolicy
Create a standard TSPServicePolicy instance. Calling this creates the same object as the "PolicyAll" constant.
func (*TSPServicePolicy) AddServiceStatus ¶
func (tc *TSPServicePolicy) AddServiceStatus(status string)
Add an element to the ServiceStatus array. Note that adding to this array without first removing the standard "granted" element may not yield the expected results.
func (*TSPServicePolicy) AddServiceTypeIdentifier ¶
func (tc *TSPServicePolicy) AddServiceTypeIdentifier(sti string)
Add an element to the ServiceTypeIdentifier array.
type TSPServiceType ¶
type TSPServiceType struct {
TslServiceInformation *TSPServiceInformationType `xml:"ServiceInformation"`
TslServiceHistory *ServiceHistoryType `xml:"ServiceHistory,omitempty"`
}
TSPServiceType ...
func (*TSPServiceType) WithCertificates ¶
func (svc *TSPServiceType) WithCertificates(cb func(*x509.Certificate))
Cahe provided callback for all t all the X509 certificate data for the given Trust Service object.
type TSPServicesListType ¶
type TSPServicesListType struct {
TslTSPService []*TSPServiceType `xml:"TSPService"`
}
TSPServicesListType ...
type TSPType ¶
type TSPType struct {
TslTSPInformation *TSPInformationType `xml:"TSPInformation"`
TslTSPServices *TSPServicesListType `xml:"TSPServices"`
}
TSPType ...
func (*TSPType) Validate ¶
func (tsp *TSPType) Validate(svc *TSPServiceType, chain []*x509.Certificate, policy *TSPServicePolicy) error
Checks a Trust Service for validity during certificate validation.
type TakenOverByType ¶
type TakenOverByType struct {
URI *NonEmptyMultiLangURIType `xml:"URI"`
TSPName *InternationalNamesType `xml:"TSPName"`
TslSchemeOperatorName *SchemeOperatorName `xml:"SchemeOperatorName"`
TslSchemeTerritory *SchemeTerritory `xml:"SchemeTerritory"`
OtherQualifier []*AnyType `xml:"OtherQualifier,omitempty"`
}
TakenOverByType ...
type TransformType ¶
type TransformType struct {
AlgorithmAttr string `xml:"Algorithm,attr"`
XPath []string `xml:"XPath"`
}
TransformType ...
type TransformsType ¶
type TransformsType struct {
DsTransform []*TransformType `xml:"ds:Transform"`
}
TransformsType ...
type TrustServiceProviderList ¶
type TrustServiceProviderList *TrustServiceProviderListType
TrustServiceProviderList ...
type TrustServiceProviderListType ¶
type TrustServiceProviderListType struct {
TslTrustServiceProvider []*TSPType `xml:"TrustServiceProvider"`
}
TrustServiceProviderListType ...
type TrustServiceStatusList ¶
type TrustServiceStatusList *TrustStatusListType
TrustServiceStatusList ...
type TrustStatusListType ¶
type TrustStatusListType struct {
TSLTagAttr string `xml:"TSLTag,attr"`
IdAttr string `xml:"Id,attr,omitempty"`
TslSchemeInformation *TSLSchemeInformationType `xml:"SchemeInformation"`
TslTrustServiceProviderList *TrustServiceProviderListType `xml:"TrustServiceProviderList,omitempty"`
DsSignature *Signature `xml:"ds:Signature,omitempty"`
}
TrustStatusListType ...
type UnsignedDataObjectProperties ¶
type UnsignedDataObjectProperties *UnsignedDataObjectPropertiesType
UnsignedDataObjectProperties ...
type UnsignedDataObjectPropertiesType ¶
type UnsignedDataObjectPropertiesType struct {
IdAttr string `xml:"Id,attr,omitempty"`
UnsignedDataObjectProperty []*AnyType `xml:"UnsignedDataObjectProperty"`
}
UnsignedDataObjectPropertiesType ...
type UnsignedPropertiesType ¶
type UnsignedPropertiesType struct {
IdAttr string `xml:"Id,attr,omitempty"`
UnsignedSignatureProperties *UnsignedSignaturePropertiesType `xml:"UnsignedSignatureProperties,omitempty"`
UnsignedDataObjectProperties *UnsignedDataObjectPropertiesType `xml:"UnsignedDataObjectProperties,omitempty"`
}
UnsignedPropertiesType ...
type UnsignedSignatureProperties ¶
type UnsignedSignatureProperties *UnsignedSignaturePropertiesType
UnsignedSignatureProperties ...
type UnsignedSignaturePropertiesType ¶
type UnsignedSignaturePropertiesType struct {
IdAttr string `xml:"Id,attr,omitempty"`
CounterSignature []*CounterSignatureType `xml:"CounterSignature"`
SignatureTimeStamp []*XAdESTimeStampType `xml:"SignatureTimeStamp"`
CompleteCertificateRefs []*CompleteCertificateRefsType `xml:"CompleteCertificateRefs"`
CompleteRevocationRefs []*CompleteRevocationRefsType `xml:"CompleteRevocationRefs"`
AttributeCertificateRefs []*CompleteCertificateRefsType `xml:"AttributeCertificateRefs"`
AttributeRevocationRefs []*CompleteRevocationRefsType `xml:"AttributeRevocationRefs"`
SigAndRefsTimeStamp []*XAdESTimeStampType `xml:"SigAndRefsTimeStamp"`
RefsOnlyTimeStamp []*XAdESTimeStampType `xml:"RefsOnlyTimeStamp"`
CertificateValues []*CertificateValuesType `xml:"CertificateValues"`
RevocationValues []*RevocationValuesType `xml:"RevocationValues"`
AttrAuthoritiesCertValues []*CertificateValuesType `xml:"AttrAuthoritiesCertValues"`
AttributeRevocationValues []*RevocationValuesType `xml:"AttributeRevocationValues"`
ArchiveTimeStamp []*XAdESTimeStampType `xml:"ArchiveTimeStamp"`
}
UnsignedSignaturePropertiesType ...
type X509CertificateLocation ¶
type X509CertificateLocation *NonEmptyURIType
X509CertificateLocation ...
type X509DataType ¶
type X509DataType struct {
X509IssuerSerial *X509IssuerSerialType `xml:"X509IssuerSerial"`
X509SKI string `xml:"X509SKI"`
X509SubjectName string `xml:"X509SubjectName"`
X509Certificate string `xml:"X509Certificate"`
X509CRL string `xml:"X509CRL"`
}
X509DataType ...
type X509IssuerSerialType ¶
type X509IssuerSerialType struct {
X509IssuerName string `xml:"X509IssuerName"`
X509SerialNumber int `xml:"X509SerialNumber"`
}
X509IssuerSerialType ...
type XAdESTimeStampType ¶
type XAdESTimeStampType struct {
IdAttr string `xml:"Id,attr,omitempty"`
Include []*IncludeType `xml:"Include,omitempty"`
DsCanonicalizationMethod *CanonicalizationMethod `xml:"ds:CanonicalizationMethod,omitempty"`
EncapsulatedTimeStamp []*EncapsulatedPKIDataType `xml:"EncapsulatedTimeStamp"`
XMLTimeStamp []*AnyType `xml:"XMLTimeStamp"`
}
XAdESTimeStampType ...