defaultUBLExtensionsSignedProperties static method
XmlDocument
defaultUBLExtensionsSignedProperties({})
Generates the <xades:SignedProperties>
XML structure after signed.
Implementation
static XmlDocument defaultUBLExtensionsSignedProperties({
required String signingTime,
required String certificateHash,
required String certificateIssuer,
required String certificateSerialNumber,
}) {
final builder = XmlBuilder();
builder.element(
'xades:QualifyingProperties',
attributes: {
'Target': 'signature',
'xmlns:xades': 'http://uri.etsi.org/01903/v1.3.2#',
},
nest: () {
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(
'Algorithm',
'http://www.w3.org/2001/04/xmlenc#sha256',
);
builder.text('');
},
);
builder.element(
'ds:DigestValue',
nest: certificateHash,
);
},
);
builder.element(
'xades:IssuerSerial',
nest: () {
builder.element(
'ds:X509IssuerName',
nest: certificateIssuer,
);
builder.element(
'ds:X509SerialNumber',
nest: certificateSerialNumber,
);
},
);
},
);
},
);
},
);
},
);
},
);
return builder.buildDocument();
}