defaultUBLExtensionsSignedPropertiesForSigning static method
XmlDocument
defaultUBLExtensionsSignedPropertiesForSigning({})
Generates the default xades:SignedProperties XML template.
Implementation
static XmlDocument defaultUBLExtensionsSignedPropertiesForSigning({
required String signingTime,
required String certificateHash,
required String certificateIssuer,
required String certificateSerialNumber,
}) {
final builder = XmlBuilder();
builder.element(
'xades:SignedProperties',
nest: () {
builder.attribute('xmlns:xades', 'http://uri.etsi.org/01903/v1.3.2#');
builder.attribute('Id', 'xadesSignedProperties');
builder.element(
'xades:SignedSignatureProperties',
nest: () {
builder.element('xades:SigningTime', nest: signingTime);
builder.element(
'xades:SigningCertificate',
nest: () {
builder.element(
'xades:Cert',
nest: () {
builder.element(
'xades:CertDigest',
nest: () {
builder.element(
'ds:DigestMethod',
nest: () {
builder.attribute(
'xmlns:ds',
'http://www.w3.org/2000/09/xmldsig#',
);
builder.attribute(
'Algorithm',
'http://www.w3.org/2001/04/xmlenc#sha256',
);
},
);
builder.element(
'ds:DigestValue',
nest: () {
builder.attribute(
'xmlns:ds',
'http://www.w3.org/2000/09/xmldsig#',
);
builder.text(certificateHash);
},
);
},
);
builder.element(
'xades:IssuerSerial',
nest: () {
builder.element(
'ds:X509IssuerName',
nest: () {
builder.attribute(
'xmlns:ds',
'http://www.w3.org/2000/09/xmldsig#',
);
builder.text(certificateIssuer);
},
);
builder.element(
'ds:X509SerialNumber',
nest: () {
builder.attribute(
'xmlns:ds',
'http://www.w3.org/2000/09/xmldsig#',
);
builder.text(certificateSerialNumber);
},
);
},
);
},
);
},
);
},
);
},
);
return builder.buildDocument();
}