createCrlDistributionPoints static method
ASN1Sequence
createCrlDistributionPoints(
- List<String> urls
)
Implementation
static ASN1Sequence createCrlDistributionPoints(List<String> urls) {
final points = ASN1Sequence();
for (final url in urls) {
final dp = ASN1Sequence(); // DistributionPoint
// fullName [0] IMPLICIT GeneralNames
final fullName = ASN1Sequence(tag: 0xA0);
// GeneralNames SEQUENCE
final gn = ASN1IA5String(url, tag: 0x86); // [6] IMPLICIT IA5String (URL)
// Add gn to fullName (which is acting as GeneralNames sequence but tagged A0)
fullName.add(gn);
// distributionPoint [0] EXPLICIT DistributionPointName
// Since DistributionPointName is CHOICE { fullName [0] ... }
// It seems complex. Let's simplify and make distributionPoint [0] EXPLICIT containing fullName
final dpField = ASN1Sequence(tag: 0xA0);
dpField.add(fullName);
dp.add(dpField);
points.add(dp);
}
return points;
}