本文整理汇总了TypeScript中node-forge.asn1类的典型用法代码示例。如果您正苦于以下问题:TypeScript asn1类的具体用法?TypeScript asn1怎么用?TypeScript asn1使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了asn1类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: fingerprint
fingerprint(hash: "sha1" | "sha256" | "sha384" | "sha512" | "md5" = "sha1"): string {
let md: any;
const forgeCSR = forge.pki.certificateFromPem(this._pem, true, true);
switch (hash) {
case "sha1":
md = forge.md.sha1.create();
break;
case "sha256":
md = forge.md.sha256.create();
break;
case "sha384":
md = forge.md.sha384.create();
break;
case "sha512":
md = forge.md.sha512.create();
break;
case "md5":
md = forge.md.md5.create();
break;
default:
throw new Error(`Unrecognized message digest hash algorithm: ${hash}`);
}
const result = md
.update(forge.asn1.toDer(forge.pki.certificateToAsn1(forgeCSR)).getBytes())
.digest()
.toHex();
return result;
}
示例2: convertToPem
/**
* Converts a P12 in base64 encoding to a pem.
* @param p12base64 String containing base64 encoded p12.
* @returns a string containing the pem.
*/
function convertToPem(p12base64: string): string {
const p12Der = forge.util.decode64(p12base64);
const p12Asn1 = forge.asn1.fromDer(p12Der);
const p12 = forge.pkcs12.pkcs12FromAsn1(p12Asn1, 'notasecret');
const bags = p12.getBags({friendlyName: 'privatekey'});
if (bags.friendlyName) {
const privateKey = bags.friendlyName[0].key!;
const pem = forge.pki.privateKeyToPem(privateKey);
return pem.replace(/\r\n/g, '\n');
} else {
throw new Error('Unable to get friendly name.');
}
}
示例3:
let pemKey: forge.pki.PEM = publicKeyPem;
let publicKeyRsa = forge.pki.publicKeyFromPem(pemKey);
let privateKeyRsa = forge.pki.privateKeyFromPem(privateKeyPem);
let byteBufferString = forge.pki.pemToDer(privateKeyPem);
let cert = forge.pki.createCertificate();
{
let subjectPublicKeyInfo = forge.asn1.create(forge.asn1.Class.UNIVERSAL, forge.asn1.Type.SEQUENCE, true, [
forge.asn1.create(forge.asn1.Class.UNIVERSAL, forge.asn1.Type.SEQUENCE, true, [
forge.asn1.create(
forge.asn1.Class.UNIVERSAL,
forge.asn1.Type.OID,
false,
forge.asn1.oidToDer(forge.pki.oids['rsaEncryption']).getBytes()
),
forge.asn1.create(forge.asn1.Class.UNIVERSAL, forge.asn1.Type.NULL, false, '')
]),
forge.asn1.create(forge.asn1.Class.UNIVERSAL, forge.asn1.Type.BITSTRING, false, [
forge.asn1.create(forge.asn1.Class.UNIVERSAL, forge.asn1.Type.SEQUENCE, true, [
forge.asn1.create(forge.asn1.Class.UNIVERSAL, forge.asn1.Type.INTEGER, false, []),
forge.asn1.create(forge.asn1.Class.UNIVERSAL, forge.asn1.Type.INTEGER, false, [])
])
])
]);
let derBuffer = forge.asn1.toDer(subjectPublicKeyInfo);
let object = forge.asn1.fromDer(derBuffer);
}
{
let oidSrc = '1.2.840.113549.1.1.5';
let derOidBuffer = forge.asn1.oidToDer(oidSrc);