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


TypeScript util.decode64方法代码示例

本文整理汇总了TypeScript中node-forge.util.decode64方法的典型用法代码示例。如果您正苦于以下问题:TypeScript util.decode64方法的具体用法?TypeScript util.decode64怎么用?TypeScript util.decode64使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在node-forge.util的用法示例。


在下文中一共展示了util.decode64方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: 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

示例2: Date

    if (hex.length !== 32) throw Error('forge.md.MessageDigest.update / digest fail');
}

{
    let key = forge.random.getBytesSync(24)
    let payload = { asd: 'asd' };
    let cipher = forge.cipher.createCipher('3DES-ECB', forge.util.createBuffer(key, 'raw'));
    cipher.start();
    cipher.update(forge.util.createBuffer(JSON.stringify(payload), 'raw'));
    cipher.finish();
    let encrypted = cipher.output;
    let token = forge.util.encode64(encrypted.getBytes());

    let decipher = forge.cipher.createDecipher('3DES-ECB', forge.util.createBuffer(key, 'raw'));
    decipher.start();
    decipher.update(forge.util.createBuffer(forge.util.decode64(token), 'raw'));
    decipher.finish();
    let decrypted = decipher.output as forge.util.ByteStringBuffer;
    let content = JSON.parse(forge.util.encodeUtf8(decrypted.getBytes()));

    if (content.asd !== payload.asd) throw Error('forge.cipher.createCipher failed');
}

{
    cert.publicKey = keypair.publicKey;
    cert.serialNumber = new Date().getTime() + '';
    cert.validity.notBefore = new Date();
    cert.validity.notAfter = new Date();
    cert.validity.notAfter.setFullYear(cert.validity.notAfter.getFullYear() + 20);
    const attrs = [
        {
开发者ID:j-f1,项目名称:forked-DefinitelyTyped,代码行数:31,代码来源:node-forge-tests.ts


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