twonly-app-dependencies/pointycastle/lib/asn1/pkcs/pkcs12/asn1_safe_contents.dart
2025-12-07 16:10:41 +01:00

40 lines
966 B
Dart

import 'dart:typed_data';
import 'package:pointycastle/asn1.dart';
///
///```
/// SafeContents ::= SEQUENCE OF SafeBag
///```
///
class ASN1SafeContents extends ASN1Object {
///
/// The safebags to store.
///
late List<ASN1SafeBag> safeBags;
ASN1SafeContents(this.safeBags);
///
/// Creates a SafeContents object from the given sequence consisting of [SafeBag] or [ASN1Sequence].
///
ASN1SafeContents.fromSequence(ASN1Sequence seq) {
safeBags = [];
if (seq.elements != null) {
for (var element in seq.elements!) {
if (element is ASN1SafeBag) {
safeBags.add(element);
} else if (element is ASN1Sequence) {
safeBags.add(ASN1SafeBag.fromSequence(element));
}
}
}
}
@override
Uint8List encode(
{ASN1EncodingRule encodingRule = ASN1EncodingRule.ENCODING_DER}) {
var tmp = ASN1Sequence(elements: safeBags);
return tmp.encode(encodingRule: encodingRule);
}
}