mirror of
https://github.com/gchq/CyberChef
synced 2025-01-01 07:18:47 +00:00
Merge branch 'user-friendly-parse-x509-certificate' of https://github.com/mikecat/CyberChef
This commit is contained in:
commit
74e9edbccf
1 changed files with 22 additions and 16 deletions
|
@ -57,23 +57,29 @@ class ParseX509Certificate extends Operation {
|
||||||
const cert = new r.X509(),
|
const cert = new r.X509(),
|
||||||
inputFormat = args[0];
|
inputFormat = args[0];
|
||||||
|
|
||||||
switch (inputFormat) {
|
let undefinedInputFormat = false;
|
||||||
case "DER Hex":
|
try {
|
||||||
input = input.replace(/\s/g, "").toLowerCase();
|
switch (inputFormat) {
|
||||||
cert.readCertHex(input);
|
case "DER Hex":
|
||||||
break;
|
input = input.replace(/\s/g, "").toLowerCase();
|
||||||
case "PEM":
|
cert.readCertHex(input);
|
||||||
cert.readCertPEM(input);
|
break;
|
||||||
break;
|
case "PEM":
|
||||||
case "Base64":
|
cert.readCertPEM(input);
|
||||||
cert.readCertHex(toHex(fromBase64(input, null, "byteArray"), ""));
|
break;
|
||||||
break;
|
case "Base64":
|
||||||
case "Raw":
|
cert.readCertHex(toHex(fromBase64(input, null, "byteArray"), ""));
|
||||||
cert.readCertHex(toHex(Utils.strToByteArray(input), ""));
|
break;
|
||||||
break;
|
case "Raw":
|
||||||
default:
|
cert.readCertHex(toHex(Utils.strToByteArray(input), ""));
|
||||||
throw "Undefined input format";
|
break;
|
||||||
|
default:
|
||||||
|
undefinedInputFormat = true;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
throw "Certificate load error (non-certificate input?)";
|
||||||
}
|
}
|
||||||
|
if (undefinedInputFormat) throw "Undefined input format";
|
||||||
|
|
||||||
const sn = cert.getSerialNumberHex(),
|
const sn = cert.getSerialNumberHex(),
|
||||||
issuer = cert.getIssuer(),
|
issuer = cert.getIssuer(),
|
||||||
|
|
Loading…
Reference in a new issue