Versions in this module Expand all Collapse all v0 v0.1.0 Jun 26, 2026 Changes in this version + const ManifestReferenceType + const NamespaceDS + const NamespaceDSig11 + const NamespaceXAdES + const NamespaceXAdES141 + const XAdESCounterSignatureType + const XAdESSignedPropertiesType + var ErrAlgorithmNotAllowed = errors.New("xmldsig: algorithm not allowed") + var ErrAlgorithmSunset = errors.New("xmldsig: algorithm past its reliability sunset") + var ErrCounterSignatureBinding = errors.New("xmldsig: countersignature does not bind the parent SignatureValue") + var ErrDigestMismatch = errors.New("xmldsig: reference digest mismatch") + var ErrDirectiveNotAllowed = xmltree.ErrDirectiveNotAllowed + var ErrNoSigningCertificate = errors.New("xmldsig: signing certificate not found") + var ErrReferenceProcessing = errors.New("xmldsig: reference processing failed") + var ErrSignatureInvalid = errors.New("xmldsig: signature is invalid") + var ErrSignedDataNotFound = errors.New("xmldsig: signed data not found") + var ErrTimestampBeforeIssuance = errors.New("xmldsig: SignatureTimeStamp precedes the signing certificate's validity") + var ErrTimestampImprintMismatch = errors.New("xmldsig: timestamp message imprint mismatch") + var ErrTraversalLimit = xmltree.ErrTraversalLimit + var ErrUnsupportedTransform = errors.New("xmldsig: unsupported transform") + func CheckBaseline(sigEl *Element, level BaselineLevel) error + func ExtendC(doc *Document, sigEl *Element, refs *CompleteRefs, opts ExtendCOptions) error + func ExtendLT(doc *Document, sigEl *Element, data *ValidationData) error + func ExtendLTA(doc *Document, sigEl *Element, tsa TSAClient, opts ExtendLTAOptions) error + func ExtendT(doc *Document, sigEl *Element, tsa TSAClient, opts ExtendTOptions) error + func ExtendX(doc *Document, sigEl *Element, tsa TSAClient, opts ExtendXOptions) error + type AlgorithmID string + const AlgBase64 + const AlgC14N10 + const AlgC14N10WithComments + const AlgC14N11 + const AlgC14N11WithComments + const AlgDSASHA1 + const AlgDSASHA256 + const AlgECDSASHA1 + const AlgECDSASHA224 + const AlgECDSASHA256 + const AlgECDSASHA384 + const AlgECDSASHA512 + const AlgEd25519 + const AlgEd448 + const AlgEnvelopedSignature + const AlgExcC14N + const AlgExcC14NWithComments + const AlgHMACSHA1 + const AlgHMACSHA224 + const AlgHMACSHA256 + const AlgHMACSHA384 + const AlgHMACSHA512 + const AlgRSAPSSSHA1 + const AlgRSAPSSSHA224 + const AlgRSAPSSSHA256 + const AlgRSAPSSSHA384 + const AlgRSAPSSSHA512 + const AlgRSASHA1 + const AlgRSASHA224 + const AlgRSASHA256 + const AlgRSASHA384 + const AlgRSASHA512 + const AlgSHA1 + const AlgSHA224 + const AlgSHA256 + const AlgSHA384 + const AlgSHA512 + const AlgXPath + const AlgXPathFilter2 + const AlgXSLT + type BaselineLevel int + const BaselineBB + const BaselineBLT + const BaselineBLTA + const BaselineBT + func DetectBaseline(sigEl *Element) (BaselineLevel, bool) + func (l BaselineLevel) String() string + type Canonicalizer interface + Algorithm func() AlgorithmID + Canonicalize func(nodes ...*Element) ([]byte, error) + func NewCanonicalizer(id AlgorithmID, inclusivePrefixes ...string) (Canonicalizer, error) + type CertificateRef struct + DigestMethod AlgorithmID + DigestValue []byte + type CommitmentType struct + Description string + Identifier string + ObjectReferences []string + type CompleteRefs struct + CRLs [][]byte + Certificates []*x509.Certificate + Digest AlgorithmID + IssuerSerialV1 bool + OCSPResponses [][]byte + type CounterSignatureResult struct + Element *Element + Err error + Result *Result + type DataObjectFormat struct + Description string + Encoding string + MimeType string + ObjectIdentifier string + ObjectReference string + type DataObjectTimeStamp struct + Canonicalization AlgorithmID + ImprintDigest AlgorithmID + ObjectReferences []string + type Document struct + func FromEtree(doc *etree.Document) *Document + func Parse(data []byte, opts ...ParseOption) (*Document, error) + func ParseString(s string, opts ...ParseOption) (*Document, error) + func (d *Document) Bytes() ([]byte, error) + func (d *Document) Etree() *etree.Document + func (d *Document) Root() *Element + func (d *Document) WriteTo(w io.Writer) (int64, error) + type Element struct + func CounterSignatureElements(sigEl *Element) []*Element + func FindSignatures(root *Element) []*Element + func FromEtreeElement(el *etree.Element) *Element + func (e *Element) Etree() *etree.Element + func (e *Element) Tag() string + func (e *Element) Text() string + type ExtendCOptions struct + UseV2 bool + type ExtendLTAOptions struct + Canonicalization AlgorithmID + Context context.Context + ImprintDigest AlgorithmID + RenewManifestDigests *RenewedDigestsSpec + TimeStampValidationData *ValidationData + type ExtendTOptions struct + Canonicalization AlgorithmID + Context context.Context + ImprintDigest AlgorithmID + type ExtendXOptions struct + Canonicalization AlgorithmID + Context context.Context + ImprintDigest AlgorithmID + UseV2 bool + XTimeStamp XTimeStamp + type HTTPTSAClient struct + HTTPClient *http.Client + Header map[string]string + PolicyOID []int + URL string + func NewHTTPTSAClient(url string) *HTTPTSAClient + func (c *HTTPTSAClient) Timestamp(ctx context.Context, input []byte, hash crypto.Hash) ([]byte, error) + type IDAttr struct + Key string + Space string + type Indication int + const Failed + const Indeterminate + const Passed + func (i Indication) String() string + type IssuerSerial struct + IssuerName string + SerialNumber *big.Int + type KeyInfo struct + Id string + KeyNames []string + KeyValue crypto.PublicKey + RetrievalMethods []*RetrievalMethod + X509Data []*X509Data + type KeyInfoMode int + const KeyInfoAuto + const KeyInfoKeyValue + const KeyInfoNone + const KeyInfoX509AndKeyValue + const KeyInfoX509Certificate + type Manifest struct + Id string + References []*Reference + type ManifestSpec struct + DigestMethod AlgorithmID + Id string + References []RefSpec + type Object struct + Encoding string + Id string + Manifests []*Manifest + MimeType string + SignatureProperties []*SignatureProperties + type ParseOption func(*parseConfig) + func AllowDTD() ParseOption + func WithLimits(maxDepth, maxNodes int) ParseOption + type ParsedSignaturePolicy struct + DigestMethod AlgorithmID + DigestValue []byte + Identifier string + Implied bool + SPURI string + Transforms []Transform + type Policy struct + AlgorithmExpiry map[AlgorithmID]time.Time + AllowExternalReferences bool + Canonicalization map[AlgorithmID]bool + Digest map[AlgorithmID]bool + MinRSABits int + RequireKeyInfo bool + Signature map[AlgorithmID]bool + TimeStampDelay time.Duration + Transform map[AlgorithmID]bool + ValidationModel ValidationModel + func DefaultPolicy() Policy + func EIDASPolicy() Policy + func FacturaePolicy(allowLegacySHA1 bool) Policy + type RefSpec struct + DigestMethod AlgorithmID + Id string + Transforms []TransformSpec + Type string + URI string + type Reference struct + DigestMethod AlgorithmID + DigestValue []byte + HasURI bool + Id string + Transforms []Transform + Type string + URI string + type RenewedDigestsSpec struct + Canonicalization AlgorithmID + DigestMethod AlgorithmID + type Request struct + Id string + Manifests []ManifestSpec + Objects []*Element + Parent *Element + References []RefSpec + type Result struct + Chains [][]*x509.Certificate + References []*ValidatedReference + Signature *Signature + SigningCert *x509.Certificate + type RetrievalMethod struct + Type string + URI string + type RevocationRef struct + DigestMethod AlgorithmID + DigestValue []byte + Kind string + type Signature struct + Id string + KeyInfo *KeyInfo + Objects []*Object + SigValueId string + SignatureValue []byte + SignedInfo *SignedInfo + func ParseSignature(el *Element) (*Signature, error) + type SignaturePolicy struct + Description string + DigestMethod AlgorithmID + DigestValue []byte + Identifier string + Implied bool + SPURI string + Transforms []TransformSpec + type SignaturePolicyRequirement struct + Document []byte + ID string + type SignatureProperties struct + Id string + Properties []*SignatureProperty + type SignatureProperty struct + Id string + Target string + type SignedInfo struct + C14NInclusivePrefixes []string + CanonicalizationMethod AlgorithmID + Id string + References []*Reference + SignatureMethod AlgorithmID + type Signer struct + Canonicalization AlgorithmID + Certs []*x509.Certificate + DigestMethod AlgorithmID + InclusivePrefixes []string + Key crypto.PrivateKey + KeyInfo KeyInfoMode + SignatureMethod AlgorithmID + TSA TSAClient + XAdES *XAdESProperties + func (s *Signer) CounterSign(doc *Document, parentSigEl *Element) (*Element, error) + func (s *Signer) Sign(doc *Document, req *Request) (*Element, error) + func (s *Signer) SignDetached(doc *Document, refs ...RefSpec) (*Element, error) + func (s *Signer) SignEnveloped(doc *Document, target *Element) (*Element, error) + func (s *Signer) SignEnveloping(data *Element) (*Document, error) + type SubIndication int + const CertificateChainGeneralFailure + const CryptoConstraintsFailureNoPOE + const FormatFailure + const HashFailure + const NoCertificateChainFound + const NoSigningCertificateFound + const NoSubIndication + const NotYetValid + const OutOfBoundsNoPOE + const OutOfBoundsNotRevoked + const RevocationOutOfBoundsNoPOE + const RevokedCANoPOE + const RevokedNoPOE + const SigConstraintsFailure + const SigCryptoFailure + const SignedDataNotFound + const TimestampOrderFailure + const TryLater + func (s SubIndication) String() string + type TSAClient interface + Timestamp func(ctx context.Context, input []byte, hash crypto.Hash) (tokenDER []byte, err error) + type TimeStampInfo struct + Element *Element + HashAlgorithm crypto.Hash + TSACertificates []*x509.Certificate + Time time.Time + type TimeStampValidationDataInfo struct + CRLs []*x509.RevocationList + Certificates []*x509.Certificate + OCSPs []*ocsp.Response + type Transform struct + Algorithm AlgorithmID + InclusivePrefixes []string + type TransformSpec struct + Algorithm AlgorithmID + InclusivePrefixes []string + type ValidatedReference struct + Element *Element + Reference *Reference + type ValidationData struct + CRLs [][]byte + Certificates []*x509.Certificate + OCSPResponses [][]byte + type ValidationModel int + const ChainModel + const ShellModel + type ValidationProcess int + const ProcessArchival + const ProcessBasic + const ProcessWithTime + type ValidationReport struct + BestSignatureTime time.Time + Chain []*x509.Certificate + Detail string + HasBestSignatureTime bool + Indication Indication + SubIndication SubIndication + XAdES *XAdESResult + type Verifier struct + CRLs []*x509.RevocationList + IDAttributes []IDAttr + Intermediates *x509.CertPool + KeyFunc func(ki *KeyInfo, method AlgorithmID) (crypto.PublicKey, error) + Now func() time.Time + OCSPResponses []*ocsp.Response + Policy Policy + RequireBaseline *BaselineLevel + RequireRevocation bool + RequireSignaturePolicy *SignaturePolicyRequirement + Roots *x509.CertPool + TSARoots *x509.CertPool + TrustedKeys []crypto.PublicKey + func (v *Verifier) Validate(doc *Document, sigEl *Element, process ValidationProcess) *ValidationReport + func (v *Verifier) Verify(doc *Document, sigEl *Element) (*Result, error) + func (v *Verifier) VerifyCounterSignature(doc *Document, parentSigEl, counterSigEl *Element) (*Result, error) + func (v *Verifier) VerifyCounterSignatures(doc *Document, parentSigEl *Element) []*CounterSignatureResult + func (v *Verifier) VerifyDocument(doc *Document) (*Result, error) + func (v *Verifier) VerifyXAdES(doc *Document, sigEl *Element) (*XAdESResult, error) + type X509Data struct + CRLs [][]byte + Certificates []*x509.Certificate + Digests []X509Digest + IssuerSerials []IssuerSerial + SKIs [][]byte + SubjectNames []string + type X509Digest struct + Algorithm AlgorithmID + Value []byte + type XAdESProperties struct + CertDigestMethod AlgorithmID + CommitmentTypes []CommitmentType + DataObjectFormats []DataObjectFormat + DataObjectTimeStamps []DataObjectTimeStamp + SignaturePolicy *SignaturePolicy + SigningCertificateV1 bool + SigningTime time.Time + type XAdESResult struct + ArchiveTimeStamps []*TimeStampInfo + CertificateRefs []*CertificateRef + DataObjectTimeStamps []*TimeStampInfo + EmbeddedCRLs []*x509.RevocationList + EmbeddedCertificates []*x509.Certificate + EmbeddedOCSPs []*ocsp.Response + HasSigningTime bool + QualifyingProperties *Element + RevocationRefs []*RevocationRef + SignaturePolicy *ParsedSignaturePolicy + SignatureTimeStamps []*TimeStampInfo + SignedProperties *Element + SigningTime time.Time + TimeStampValidationData []*TimeStampValidationDataInfo + XTimeStamps []*TimeStampInfo + type XTimeStamp int + const XRefsOnly + const XSigAndRefs