Skip to content

Commit 78e99c2

Browse files
committed
Make some methods private
1 parent fde278a commit 78e99c2

File tree

1 file changed

+52
-52
lines changed

1 file changed

+52
-52
lines changed

lib/src/signed_xml.dart

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -118,14 +118,14 @@ class SignedXml {
118118
final Map<String, dynamic> options;
119119
final String idMode;
120120
final references = <_Reference>[];
121-
var id = 0;
121+
var _id = 0;
122122
Uint8List? signingKey;
123123
late String signatureAlgorithm;
124124
KeyInfoProvider? _keyInfoProvider;
125125
late String canonicalizationAlgorithm;
126126
String _signedXml = '';
127127
String _signatureXml = '';
128-
XmlNode? signatureNode;
128+
XmlNode? _signatureNode;
129129
String signatureValue = '';
130130
String _originalXmlWithIds = '';
131131
final validationErrors = <String>[];
@@ -186,7 +186,7 @@ class SignedXml {
186186

187187
final doc = XmlDocument.parse(xml);
188188

189-
if (!validateReferences(doc)) {
189+
if (!_validateReferences(doc)) {
190190
if (callback == null) {
191191
return false;
192192
} else {
@@ -197,13 +197,13 @@ class SignedXml {
197197

198198
if (callback == null) {
199199
//Synchronous flow
200-
if (!validateSignatureValue(doc)) {
200+
if (!_validateSignatureValue(doc)) {
201201
return false;
202202
}
203203
return true;
204204
} else {
205205
//Asynchronous flow
206-
validateSignatureValue(doc, (Error? err, bool isValidSignature) {
206+
_validateSignatureValue(doc, (Error? err, bool isValidSignature) {
207207
if (err != null) {
208208
validationErrors.add('invalid signature: the signature value $signatureValue is incorrect');
209209
callback(err);
@@ -215,8 +215,8 @@ class SignedXml {
215215
}
216216
}
217217

218-
String getCanonSignedInfoXml(XmlDocument doc) {
219-
final signedInfo = findChilds(signatureNode!, 'SignedInfo');
218+
String _getCanonSignedInfoXml(XmlDocument doc) {
219+
final signedInfo = findChilds(_signatureNode!, 'SignedInfo');
220220
if (signedInfo.isEmpty) {
221221
throw ArgumentError('could not find SignedInfo element in the message');
222222
}
@@ -234,10 +234,10 @@ class SignedXml {
234234
final c14nOptions = <String, dynamic>{
235235
'ancestorNamespaces': ancestorNamespaces,
236236
};
237-
return getCanonXml([canonicalizationAlgorithm], signedInfo.first, c14nOptions);
237+
return _getCanonXml([canonicalizationAlgorithm], signedInfo.first, c14nOptions);
238238
}
239239

240-
String getCanonReferenceXml(XmlDocument doc, _Reference ref, XmlNode node) {
240+
String _getCanonReferenceXml(XmlDocument doc, _Reference ref, XmlNode node) {
241241
// Search for ancestor namespaces before canonicalization.
242242
if (ref.transforms.isNotEmpty) {
243243
ref.ancestorNamespaces = findAncestorNs(doc, ref.xpath ?? '');
@@ -248,26 +248,26 @@ class SignedXml {
248248
'ancestorNamespaces': ref.ancestorNamespaces,
249249
};
250250

251-
return getCanonXml(ref.transforms, node, c14nOptions);
251+
return _getCanonXml(ref.transforms, node, c14nOptions);
252252
}
253253

254-
bool validateSignatureValue(XmlDocument doc, [ValidateSignatureCallback? callback]) {
255-
final signedInfoCanon = getCanonSignedInfoXml(doc);
256-
final signer = findSignatureAlgorithm(signatureAlgorithm);
254+
bool _validateSignatureValue(XmlDocument doc, [ValidateSignatureCallback? callback]) {
255+
final signedInfoCanon = _getCanonSignedInfoXml(doc);
256+
final signer = _findSignatureAlgorithm(signatureAlgorithm);
257257
final res = signer.verifySignature(signedInfoCanon, signingKey!, signatureValue, callback);
258258
if (!res && callback == null) {
259259
validationErrors.add('invalid signature: the signature value $signatureValue is incorrect');
260260
}
261261
return res;
262262
}
263263

264-
void calculateSignatureValue(XmlDocument doc, [CalculateSignatureCallback? callback]) {
265-
final signedInfoCanon = getCanonSignedInfoXml(doc);
266-
final signer = findSignatureAlgorithm(signatureAlgorithm);
264+
void _calculateSignatureValue(XmlDocument doc, [CalculateSignatureCallback? callback]) {
265+
final signedInfoCanon = _getCanonSignedInfoXml(doc);
266+
final signer = _findSignatureAlgorithm(signatureAlgorithm);
267267
signatureValue = signer.getSignature(signedInfoCanon, signingKey!, callback);
268268
}
269269

270-
SignatureAlgorithm findSignatureAlgorithm(String name) {
270+
SignatureAlgorithm _findSignatureAlgorithm(String name) {
271271
final algo = signatureAlgorithms[name];
272272
if (algo != null) {
273273
return algo;
@@ -276,7 +276,7 @@ class SignedXml {
276276
}
277277
}
278278

279-
CanonicalizationAlgorithm findCanonicalizationAlgorithm(String name) {
279+
CanonicalizationAlgorithm _findCanonicalizationAlgorithm(String name) {
280280
final algo = canonicalizationAlgorithms[name];
281281
if (algo != null) {
282282
return algo;
@@ -285,7 +285,7 @@ class SignedXml {
285285
}
286286
}
287287

288-
HashAlgorithm findHashAlgorithm(String name) {
288+
HashAlgorithm _findHashAlgorithm(String name) {
289289
final algo = hashAlgorithms[name];
290290
if (algo != null) {
291291
return algo;
@@ -294,7 +294,7 @@ class SignedXml {
294294
}
295295
}
296296

297-
bool validateReferences(XmlDocument doc) {
297+
bool _validateReferences(XmlDocument doc) {
298298
for (final ref in references) {
299299
final uri = ref.uri.startsWith('#') ? ref.uri.substring(1) : ref.uri;
300300
final elem = <XPathNode<XmlNode>>[];
@@ -331,8 +331,8 @@ class SignedXml {
331331
return false;
332332
}
333333

334-
final canonXml = getCanonReferenceXml(doc, ref, elem.first.node);
335-
final hash = findHashAlgorithm(ref.digestAlgorithm);
334+
final canonXml = _getCanonReferenceXml(doc, ref, elem.first.node);
335+
final hash = _findHashAlgorithm(ref.digestAlgorithm);
336336
final digest = hash.getHash(canonXml);
337337
if (!_validateDigestValue(digest, ref.digestValue)) {
338338
validationErrors.add('invalid signature: for uri ${ref.uri}'
@@ -349,9 +349,9 @@ class SignedXml {
349349

350350
void loadSignature(dynamic signatureNode) {
351351
if (signatureNode is String) {
352-
this.signatureNode = signatureNode = XmlDocument.parse(signatureNode).rootElement;
352+
_signatureNode = signatureNode = XmlDocument.parse(signatureNode).rootElement;
353353
} else {
354-
this.signatureNode = signatureNode;
354+
_signatureNode = signatureNode;
355355
}
356356

357357
_signatureXml = signatureNode.toString();
@@ -373,15 +373,15 @@ class SignedXml {
373373
}
374374

375375
for (final ref in refs.nodes) {
376-
loadReference(ref.node);
376+
_loadReference(ref.node);
377377
}
378378

379379
signatureValue = findFirst(signatureNode, ".//*[local-name()='SignatureValue']/text()")
380380
.text.replaceAll(RegExp(r'\r?\n'), '');
381381
keyInfo = XPath.xmlElement(signatureNode).query(".//*[local-name()='KeyInfo']").node?.node.toString();
382382
}
383383

384-
void loadReference(XmlNode ref) {
384+
void _loadReference(XmlNode ref) {
385385
var nodes = findChilds(ref, 'DigestMethod');
386386
if (nodes.isEmpty) {
387387
throw ArgumentError('could not find DigestMethod in reference $ref');
@@ -524,8 +524,8 @@ class SignedXml {
524524
signatureAttrs.add('$xmlNsAttr="http://www.w3.org/2000/09/xmldsig#"');
525525

526526
final signatureXml = StringBuffer('<${currentPrefix}Signature ${signatureAttrs.join(' ')}>')
527-
..write(createSignedInfo(doc, prefix))
528-
..write(getKeyInfo(prefix))
527+
..write(_createSignedInfo(doc, prefix))
528+
..write(_getKeyInfo(prefix))
529529
..write('</${currentPrefix}Signature>');
530530

531531
_originalXmlWithIds = doc.toString();
@@ -573,8 +573,8 @@ class SignedXml {
573573
}
574574
}
575575

576-
signatureNode = signatureDoc;
577-
final signedInfoNodeQuery = findChilds(signatureNode!, 'SignedInfo');
576+
_signatureNode = signatureDoc;
577+
final signedInfoNodeQuery = findChilds(_signatureNode!, 'SignedInfo');
578578
if (signedInfoNodeQuery.isEmpty) {
579579
final err = ArgumentError('could not find SignedInfo element in the message');
580580
if (callback == null) {
@@ -588,21 +588,21 @@ class SignedXml {
588588

589589
if (callback == null) {
590590
//Synchronous flow
591-
calculateSignatureValue(doc);
591+
_calculateSignatureValue(doc);
592592
final ch = signedInfoNode.parent?.children;
593593
if (ch != null) {
594594
final index = ch.indexOf(signedInfoNode) + 1;
595595
if (index < ch.length) {
596-
ch.insert(index, createSignature(prefix));
596+
ch.insert(index, _createSignature(prefix));
597597
} else {
598-
ch.add(createSignature(prefix));
598+
ch.add(_createSignature(prefix));
599599
}
600600
}
601601
_signatureXml = signatureDoc.toString();
602602
_signedXml = doc.toString();
603603
} else {
604604
//Asynchronous flow
605-
calculateSignatureValue(doc, (err, signatureValue) {
605+
_calculateSignatureValue(doc, (err, signatureValue) {
606606
if (err != null) {
607607
callback(err, null);
608608
return;
@@ -612,9 +612,9 @@ class SignedXml {
612612
if (ch != null) {
613613
final index = ch.indexOf(signedInfoNode) + 1;
614614
if (index < ch.length) {
615-
ch.insert(index, createSignature(prefix));
615+
ch.insert(index, _createSignature(prefix));
616616
} else {
617-
ch.add(createSignature(prefix));
617+
ch.add(_createSignature(prefix));
618618
}
619619
}
620620
_signatureXml = signatureDoc.toString();
@@ -624,7 +624,7 @@ class SignedXml {
624624
}
625625
}
626626

627-
String getKeyInfo(String? prefix) {
627+
String _getKeyInfo(String? prefix) {
628628
final res = StringBuffer();
629629
var currentPrefix = prefix ?? '';
630630
if (currentPrefix.isNotEmpty) currentPrefix += ':';
@@ -639,7 +639,7 @@ class SignedXml {
639639
}
640640

641641
/// Generate the Reference nodes (as part of the signature process)
642-
String createReference(XmlDocument doc, String? prefix) {
642+
String _createReference(XmlDocument doc, String? prefix) {
643643
final res = StringBuffer();
644644

645645
prefix = prefix ?? '';
@@ -655,18 +655,18 @@ class SignedXml {
655655
if (ref.isEmptyUri) {
656656
res.write('<${prefix}Reference URI="">');
657657
} else {
658-
final id = ensureHasId(node.node);
658+
final id = _ensureHasId(node.node);
659659
ref.uri = id;
660660
res.write('<${prefix}Reference URI="#$id">');
661661
}
662662
res.write('<${prefix}Transforms>');
663663
for (final trans in ref.transforms) {
664-
final transform = findCanonicalizationAlgorithm(trans);
664+
final transform = _findCanonicalizationAlgorithm(trans);
665665
res.write('<${prefix}Transform Algorithm="${transform.algorithmName}" />');
666666
}
667667

668-
final canonXml = getCanonReferenceXml(doc, ref, node.node);
669-
final digestAlgorithm = findHashAlgorithm(ref.digestAlgorithm);
668+
final canonXml = _getCanonReferenceXml(doc, ref, node.node);
669+
final digestAlgorithm = _findHashAlgorithm(ref.digestAlgorithm);
670670
res
671671
..write('</${prefix}Transforms>')
672672
..write('<${prefix}DigestMethod Algorithm="${digestAlgorithm.algorithmName}" />')
@@ -677,10 +677,10 @@ class SignedXml {
677677
return res.toString();
678678
}
679679

680-
String getCanonXml(List<String> transforms, XmlNode node, [Map<String, dynamic>? options]) {
680+
String _getCanonXml(List<String> transforms, XmlNode node, [Map<String, dynamic>? options]) {
681681
options = options ?? {};
682682
if (options['defaultNsForPrefix'] == null) options['defaultNsForPrefix'] = defaultNsForPrefix;
683-
options['signatureNode'] = signatureNode;
683+
options['signatureNode'] = _signatureNode;
684684

685685
dynamic canonXml = node.copy(); // Deep clone
686686
// Workaround: XmlPrefixName.namespaceUri will look up the namespace from the parent node
@@ -689,7 +689,7 @@ class SignedXml {
689689
canonXml.attachParent(node.parent!);
690690
}
691691
for (final t in transforms) {
692-
final transform = findCanonicalizationAlgorithm(t);
692+
final transform = _findCanonicalizationAlgorithm(t);
693693
canonXml = transform.process(canonXml, options);
694694
//TODO: currently transform.process may return either Node or String value (enveloped transformation returns Node, exclusive-canonicalization returns String).
695695
//This either needs to be more explicit in the API, or all should return the same.
@@ -702,7 +702,7 @@ class SignedXml {
702702
return canonXml.toString();
703703
}
704704

705-
String ensureHasId(XmlNode node) {
705+
String _ensureHasId(XmlNode node) {
706706
XmlAttribute? attr;
707707
if (idMode == 'wssecurity') {
708708
attr = findAttr(node, 'Id', 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd');
@@ -716,7 +716,7 @@ class SignedXml {
716716
if (attr != null) return attr.value;
717717

718718
//add the attribute
719-
final id = '_${this.id++}';
719+
final id = '_${_id++}';
720720

721721
if (idMode == 'wssecurity') {
722722
node.setAttribute('xmlns:wsu',
@@ -732,22 +732,22 @@ class SignedXml {
732732
}
733733

734734
/// Create the SignedInfo element
735-
String createSignedInfo(XmlDocument doc, String? prefix) {
736-
final transform = findCanonicalizationAlgorithm(canonicalizationAlgorithm);
737-
final algo = findSignatureAlgorithm(signatureAlgorithm);
735+
String _createSignedInfo(XmlDocument doc, String? prefix) {
736+
final transform = _findCanonicalizationAlgorithm(canonicalizationAlgorithm);
737+
final algo = _findSignatureAlgorithm(signatureAlgorithm);
738738
var currentPrefix = prefix ?? '';
739739
currentPrefix = currentPrefix.isNotEmpty ? '$currentPrefix:' : '';
740740

741741
final res = StringBuffer('<${currentPrefix}SignedInfo>')
742742
..write('<${currentPrefix}CanonicalizationMethod Algorithm="${transform.algorithmName}" />')
743743
..write('<${currentPrefix}SignatureMethod Algorithm="${algo.algorithmName}" />')
744-
..write(createReference(doc, prefix))
744+
..write(_createReference(doc, prefix))
745745
..write('</${currentPrefix}SignedInfo>');
746746
return res.toString();
747747
}
748748

749749
/// Create the Signature element
750-
XmlNode createSignature(String? prefix) {
750+
XmlNode _createSignature(String? prefix) {
751751
var xmlNsAttr = 'xmlns';
752752

753753
if (prefix != null) {

0 commit comments

Comments
 (0)