当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript node-forge.asn1类代码示例

本文整理汇总了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;
  }
开发者ID:zachmart,项目名称:closedssl,代码行数:31,代码来源:Cert.ts

示例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.');
  }
}
开发者ID:ryanseys,项目名称:google-p12-pem,代码行数:18,代码来源:index.ts

示例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);
开发者ID:j-f1,项目名称:forked-DefinitelyTyped,代码行数:31,代码来源:node-forge-tests.ts


注:本文中的node-forge.asn1类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。