3
0
Fork 0
trifid_mobile/lib/models/Certificate.dart

84 lines
2.2 KiB
Dart

class CertificateInfo {
Certificate cert;
String? rawCert;
CertificateValidity? validity;
CertificateInfo.debug({this.rawCert = ""})
: this.cert = Certificate.debug(),
this.validity = CertificateValidity.debug();
CertificateInfo.fromJson(Map<String, dynamic> json)
: cert = Certificate.fromJson(json['Cert']),
rawCert = json['RawCert'],
validity = CertificateValidity.fromJson(json['Validity']);
CertificateInfo({required this.cert, this.rawCert, this.validity});
static List<CertificateInfo> fromJsonList(List<dynamic> list) {
return list.map((v) => CertificateInfo.fromJson(v)).toList();
}
}
class Certificate {
CertificateDetails details;
String fingerprint;
String signature;
Certificate.debug()
: this.details = CertificateDetails.debug(),
this.fingerprint = "DEBUG",
this.signature = "DEBUG";
Certificate.fromJson(Map<String, dynamic> json)
: details = CertificateDetails.fromJson(json['details']),
fingerprint = json['fingerprint'],
signature = json['signature'];
}
class CertificateDetails {
String name;
DateTime notBefore;
DateTime notAfter;
String publicKey;
List<String> groups;
List<String> ips;
List<String> subnets;
bool isCa;
String issuer;
CertificateDetails.debug()
: this.name = "DEBUG",
notBefore = DateTime.now(),
notAfter = DateTime.now(),
publicKey = "",
groups = [],
ips = [],
subnets = [],
isCa = false,
issuer = "DEBUG";
CertificateDetails.fromJson(Map<String, dynamic> json)
: name = json['name'],
notBefore = DateTime.parse(json['notBefore']),
notAfter = DateTime.parse(json['notAfter']),
publicKey = json['publicKey'],
groups = List<String>.from(json['groups']),
ips = List<String>.from(json['ips']),
subnets = List<String>.from(json['subnets']),
isCa = json['isCa'],
issuer = json['issuer'];
}
class CertificateValidity {
bool valid;
String reason;
CertificateValidity.debug()
: this.valid = true,
this.reason = "";
CertificateValidity.fromJson(Map<String, dynamic> json)
: valid = json['Valid'],
reason = json['Reason'];
}