@super-protocol/pki-common 1.6.6 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/helpers.d.ts CHANGED
@@ -1,19 +1,21 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { Challenge, ChallengeType, ChallengeWithNvidiaToken, IntermediateCertificates, KeyPairPem, TeeSslCertificate } from './types';
3
- import * as forge from 'node-forge';
4
+ import { KeyObject } from 'crypto';
4
5
  export declare const binaryIdToDomainName: (binaryId: Buffer) => string;
5
6
  export declare const generateDomain: (baseDomain: string, challengeType: ChallengeType, binaryId: Buffer) => string;
6
7
  export declare const getPublicKeyFromPrivate: (privateKeyPem: string) => string;
7
8
  export declare const getPublicKeyPemHash: (publicKeyPem: string) => Buffer;
8
- export declare const getPublicKeyHash: (publicKey: forge.pki.PublicKey) => Buffer;
9
- export declare const getPublicKeyDigestRaw: (publicKeyPem: string) => forge.md.sha256.MessageDigest;
10
- export declare const generateKeyPair: () => KeyPairPem;
9
+ export declare const getPublicKeyHash: (publicKey: KeyObject) => Buffer;
10
+ export declare const generateEcKeyPair: () => KeyPairPem;
11
+ export declare const generateRsaKeyPair: () => KeyPairPem;
11
12
  export declare const getPublicKeyFromCsr: (csrPem: string) => string;
12
13
  export declare const splitCerts: (certsPem: string) => string[];
13
- export declare const extractCommonName: (certPem: string) => string | undefined;
14
+ export declare const extractCommonNameFromSubject: (subject: string) => string | undefined;
14
15
  export declare const extractIntermediateCertificates: {
15
16
  (certs: TeeSslCertificate): IntermediateCertificates;
16
17
  (certsChain: string): IntermediateCertificates;
17
18
  };
18
19
  export declare const hasChallengeNvidiaToken: (challenge: Challenge) => challenge is Required<ChallengeWithNvidiaToken>;
19
20
  export declare const isFileExisted: (filePath: string) => Promise<boolean>;
21
+ export declare const compareKeys: (keyPemOne: string, keyPemTwo: string) => boolean;
package/dist/helpers.js CHANGED
@@ -23,46 +23,57 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.isFileExisted = exports.hasChallengeNvidiaToken = exports.extractIntermediateCertificates = exports.extractCommonName = exports.splitCerts = exports.getPublicKeyFromCsr = exports.generateKeyPair = exports.getPublicKeyDigestRaw = exports.getPublicKeyHash = exports.getPublicKeyPemHash = exports.getPublicKeyFromPrivate = exports.generateDomain = exports.binaryIdToDomainName = void 0;
26
+ exports.compareKeys = exports.isFileExisted = exports.hasChallengeNvidiaToken = exports.extractIntermediateCertificates = exports.extractCommonNameFromSubject = exports.splitCerts = exports.getPublicKeyFromCsr = exports.generateRsaKeyPair = exports.generateEcKeyPair = exports.getPublicKeyHash = exports.getPublicKeyPemHash = exports.getPublicKeyFromPrivate = exports.generateDomain = exports.binaryIdToDomainName = void 0;
27
27
  const types_1 = require("./types");
28
- const forge = __importStar(require("node-forge"));
29
28
  const crypto_1 = require("crypto");
30
29
  const base32 = __importStar(require("hi-base32"));
31
30
  const fs_1 = require("fs");
31
+ const x509_1 = require("@peculiar/x509");
32
32
  const binaryIdToDomainName = (binaryId) => base32.encode(binaryId.subarray(0, 16)).replace(/=+$/, '').toLowerCase();
33
33
  exports.binaryIdToDomainName = binaryIdToDomainName;
34
34
  const generateDomain = (baseDomain, challengeType, binaryId) => `${(0, exports.binaryIdToDomainName)(binaryId)}.${challengeType}.${baseDomain}`;
35
35
  exports.generateDomain = generateDomain;
36
36
  const getPublicKeyFromPrivate = (privateKeyPem) => {
37
- const privateKey = forge.pki.privateKeyFromPem(privateKeyPem);
38
- const publicKey = forge.pki.rsa.setPublicKey(privateKey.n, privateKey.e);
39
- return forge.pki.publicKeyToPem(publicKey);
37
+ return (0, crypto_1.createPublicKey)(privateKeyPem).export({
38
+ type: 'spki',
39
+ format: 'pem',
40
+ });
40
41
  };
41
42
  exports.getPublicKeyFromPrivate = getPublicKeyFromPrivate;
42
43
  const getPublicKeyPemHash = (publicKeyPem) => {
43
- const publicKey = forge.pki.publicKeyFromPem(publicKeyPem);
44
+ const publicKey = (0, crypto_1.createPublicKey)(publicKeyPem);
44
45
  return (0, exports.getPublicKeyHash)(publicKey);
45
46
  };
46
47
  exports.getPublicKeyPemHash = getPublicKeyPemHash;
47
48
  const getPublicKeyHash = (publicKey) => {
48
- const asn1 = forge.pki.publicKeyToAsn1(publicKey);
49
- const der = forge.asn1.toDer(asn1).getBytes();
50
- const keyBuffer = Buffer.from(der, 'binary');
49
+ const der = publicKey.export({
50
+ type: 'spki',
51
+ format: 'der',
52
+ });
51
53
  const hash = (0, crypto_1.createHash)('sha256');
52
- hash.update(keyBuffer);
54
+ hash.update(der);
53
55
  return hash.digest();
54
56
  };
55
57
  exports.getPublicKeyHash = getPublicKeyHash;
56
- const getPublicKeyDigestRaw = (publicKeyPem) => {
57
- const publicKey = forge.pki.publicKeyFromPem(publicKeyPem);
58
- const asn1 = forge.pki.publicKeyToAsn1(publicKey);
59
- const der = forge.asn1.toDer(asn1).getBytes();
60
- const md = forge.md.sha256.create();
61
- md.update(der, 'raw');
62
- return md;
58
+ const generateEcKeyPair = () => {
59
+ const keys = (0, crypto_1.generateKeyPairSync)('ec', {
60
+ namedCurve: 'secp256k1',
61
+ publicKeyEncoding: {
62
+ type: 'spki',
63
+ format: 'pem',
64
+ },
65
+ privateKeyEncoding: {
66
+ type: 'pkcs8',
67
+ format: 'pem',
68
+ },
69
+ });
70
+ return {
71
+ publicKeyPem: keys.publicKey,
72
+ privateKeyPem: keys.privateKey,
73
+ };
63
74
  };
64
- exports.getPublicKeyDigestRaw = getPublicKeyDigestRaw;
65
- const generateKeyPair = () => {
75
+ exports.generateEcKeyPair = generateEcKeyPair;
76
+ const generateRsaKeyPair = () => {
66
77
  const keys = (0, crypto_1.generateKeyPairSync)('rsa', {
67
78
  modulusLength: 2048,
68
79
  publicKeyEncoding: {
@@ -79,13 +90,17 @@ const generateKeyPair = () => {
79
90
  privateKeyPem: keys.privateKey,
80
91
  };
81
92
  };
82
- exports.generateKeyPair = generateKeyPair;
93
+ exports.generateRsaKeyPair = generateRsaKeyPair;
83
94
  const getPublicKeyFromCsr = (csrPem) => {
84
- const csr = forge.pki.certificationRequestFromPem(csrPem);
85
- if (!csr.publicKey) {
86
- throw new Error(`Missed publicKey in CSR`);
87
- }
88
- return forge.pki.publicKeyToPem(csr.publicKey);
95
+ const csr = new x509_1.Pkcs10CertificateRequest(csrPem);
96
+ return (0, crypto_1.createPublicKey)({
97
+ key: csr.publicKey.rawData,
98
+ format: 'der',
99
+ type: 'spki',
100
+ }).export({
101
+ format: 'pem',
102
+ type: 'spki',
103
+ });
89
104
  };
90
105
  exports.getPublicKeyFromCsr = getPublicKeyFromCsr;
91
106
  const splitCerts = (certsPem) => {
@@ -94,12 +109,10 @@ const splitCerts = (certsPem) => {
94
109
  return Array.from(matches || []);
95
110
  };
96
111
  exports.splitCerts = splitCerts;
97
- const extractCommonName = (certPem) => {
98
- const cert = forge.pki.certificateFromPem(certPem);
99
- const commonNameAttr = cert.subject.attributes.find((attr) => attr.name === 'commonName');
100
- return commonNameAttr?.value;
112
+ const extractCommonNameFromSubject = (subject) => {
113
+ return subject.match(/CN=([^,\n]+)/)?.[1]?.trim();
101
114
  };
102
- exports.extractCommonName = extractCommonName;
115
+ exports.extractCommonNameFromSubject = extractCommonNameFromSubject;
103
116
  const extractIntermediateCertificates = (certificates) => {
104
117
  let restCerts;
105
118
  let certificate;
@@ -115,7 +128,7 @@ const extractIntermediateCertificates = (certificates) => {
115
128
  }
116
129
  const ca = restCerts.pop();
117
130
  return {
118
- cert: certificate,
131
+ cert: certificate + '\n',
119
132
  intermediateCertificates: restCerts.join('\n') + '\n',
120
133
  ca: ca + '\n',
121
134
  };
@@ -135,4 +148,24 @@ const isFileExisted = (filePath) => fs_1.promises
135
148
  .then(() => true)
136
149
  .catch(() => false);
137
150
  exports.isFileExisted = isFileExisted;
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUNBT2lCO0FBQ2pCLGtEQUFvQztBQUNwQyxtQ0FBeUQ7QUFFekQsa0RBQW9DO0FBQ3BDLDJCQUF5QztBQUVsQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBRGhFLFFBQUEsb0JBQW9CLHdCQUM0QztBQUV0RSxNQUFNLGNBQWMsR0FBRyxDQUMxQixVQUFrQixFQUNsQixhQUE0QixFQUM1QixRQUFnQixFQUNsQixFQUFFLENBQUMsR0FBRyxJQUFBLDRCQUFvQixFQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWEsSUFBSSxVQUFVLEVBQUUsQ0FBQztBQUozRCxRQUFBLGNBQWMsa0JBSTZDO0FBRWpFLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxhQUFxQixFQUFFLEVBQUU7SUFDN0QsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5RCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekUsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUM7QUFKVyxRQUFBLHVCQUF1QiwyQkFJbEM7QUFFSyxNQUFNLG1CQUFtQixHQUFHLENBQUMsWUFBb0IsRUFBRSxF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
151
+ const compareKeys = (keyPemOne, keyPemTwo) => {
152
+ const privateJwk = (0, crypto_1.createPublicKey)(keyPemOne).export({ format: 'jwk' });
153
+ const publicJwk = (0, crypto_1.createPublicKey)(keyPemTwo).export({ format: 'jwk' });
154
+ if (publicJwk.kty !== privateJwk.kty) {
155
+ return false;
156
+ }
157
+ if (publicJwk.kty === 'RSA') {
158
+ return !!(publicJwk.n && privateJwk.n && publicJwk.n === privateJwk.n);
159
+ }
160
+ if (publicJwk.kty === 'EC') {
161
+ return !!(publicJwk.x &&
162
+ privateJwk.x &&
163
+ publicJwk.x === privateJwk.x &&
164
+ publicJwk.y &&
165
+ privateJwk.y &&
166
+ publicJwk.y === privateJwk.y);
167
+ }
168
+ return false;
169
+ };
170
+ exports.compareKeys = compareKeys;
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUNBT2lCO0FBQ2pCLG1DQUtnQjtBQUVoQixrREFBb0M7QUFDcEMsMkJBQXlDO0FBQ3pDLHlDQUEwRDtBQUVuRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBRGhFLFFBQUEsb0JBQW9CLHdCQUM0QztBQUV0RSxNQUFNLGNBQWMsR0FBRyxDQUMxQixVQUFrQixFQUNsQixhQUE0QixFQUM1QixRQUFnQixFQUNsQixFQUFFLENBQUMsR0FBRyxJQUFBLDRCQUFvQixFQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWEsSUFBSSxVQUFVLEVBQUUsQ0FBQztBQUozRCxRQUFBLGNBQWMsa0JBSTZDO0FBRWpFLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxhQUFxQixFQUFVLEVBQUU7SUFDckUsT0FBTyxJQUFBLHdCQUFlLEVBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3pDLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLEtBQUs7S0FDaEIsQ0FBVyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUxXLFFBQUEsdUJBQXVCLDJCQUtsQztBQUVLLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxZQUFvQixFQUFFLEVBQUU7SUFDeEQsTUFBTSxTQUFTLEdBQUcsSUFBQSx3QkFBZSxFQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELE9BQU8sSUFBQSx3QkFBZ0IsRUFBQyxTQUFTLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUM7QUFIVyxR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
package/dist/types.d.ts CHANGED
@@ -39,8 +39,6 @@ export type Challenge = UntrustedChallenge | SGXDCAPChallenge | TDXChallenge | S
39
39
  export type ChallengeWithNvidiaToken = SNPChallenge | TDXChallenge;
40
40
  export interface PkiCertParams {
41
41
  alternativeDnsName?: string;
42
- serialNumber: string;
43
- notBefore: string;
44
42
  notAfter: string;
45
43
  commonName: string;
46
44
  countryName: string;
@@ -48,11 +46,12 @@ export interface PkiCertParams {
48
46
  localityName: string;
49
47
  organizationName: string;
50
48
  organizationUnitName: string;
49
+ ocspUrl?: string;
51
50
  }
52
51
  export interface PkiUntrustedStaticKeyStorage {
53
52
  type: 'untrusted-static';
54
- publicKeyPem: string;
55
- privateKeyPem: string;
53
+ basicPrivateKeyPem: string;
54
+ litePrivateKeyPem: string;
56
55
  }
57
56
  export interface PkiInMemoryKeyStorage {
58
57
  type: 'in-memory';
@@ -84,7 +83,9 @@ export interface AllowedSubRootChallenge {
84
83
  type: ChallengeType;
85
84
  idHex?: string;
86
85
  commonIdHex?: string;
86
+ solutionHashHex?: string;
87
87
  }
88
+ export type AllowedOcspSignerChallenge = AllowedSubRootChallenge;
88
89
  export interface PKISslCertificate {
89
90
  certPem: string;
90
91
  rootCertsPem: string;
package/dist/types.js CHANGED
@@ -20,4 +20,4 @@ var CertificateType;
20
20
  CertificateType["Basic"] = "basic";
21
21
  CertificateType["Lite"] = "lite";
22
22
  })(CertificateType || (exports.CertificateType = CertificateType = {}));
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxhQU9YO0FBUEQsV0FBWSxhQUFhO0lBQ3JCLHdDQUF1QixDQUFBO0lBQ3ZCLHFDQUFvQixDQUFBO0lBQ3BCLG1DQUFrQixDQUFBO0lBQ2xCLDRCQUFXLENBQUE7SUFDWCxtQ0FBa0IsQ0FBQTtJQUNsQiw0Q0FBMkIsQ0FBQTtBQUMvQixDQUFDLEVBUFcsYUFBYSw2QkFBYixhQUFhLFFBT3hCO0FBK0VELElBQVksT0FHWDtBQUhELFdBQVksT0FBTztJQUNmLHdCQUFhLENBQUE7SUFDYiw4QkFBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsT0FBTyx1QkFBUCxPQUFPLFFBR2xCO0FBZ0NELElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN2QixrQ0FBZSxDQUFBO0lBQ2YsZ0NBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSFcsZUFBZSwrQkFBZixlQUFlLFFBRzFCIn0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxhQU9YO0FBUEQsV0FBWSxhQUFhO0lBQ3JCLHdDQUF1QixDQUFBO0lBQ3ZCLHFDQUFvQixDQUFBO0lBQ3BCLG1DQUFrQixDQUFBO0lBQ2xCLDRCQUFXLENBQUE7SUFDWCxtQ0FBa0IsQ0FBQTtJQUNsQiw0Q0FBMkIsQ0FBQTtBQUMvQixDQUFDLEVBUFcsYUFBYSw2QkFBYixhQUFhLFFBT3hCO0FBOEVELElBQVksT0FHWDtBQUhELFdBQVksT0FBTztJQUNmLHdCQUFhLENBQUE7SUFDYiw4QkFBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsT0FBTyx1QkFBUCxPQUFPLFFBR2xCO0FBbUNELElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN2QixrQ0FBZSxDQUFBO0lBQ2YsZ0NBQWEsQ0FBQTtBQUNqQixDQUFDLEVBSFcsZUFBZSwrQkFBZixlQUFlLFFBRzFCIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/pki-common",
3
- "version": "1.6.6",
3
+ "version": "1.7.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -19,8 +19,7 @@
19
19
  "author": "Super Protocol",
20
20
  "license": "ISC",
21
21
  "dependencies": {
22
- "@types/node-forge": "^1.3.11",
23
- "hi-base32": "^0.5.1",
24
- "node-forge": "^1.3.1"
22
+ "@peculiar/x509": "^1.13.0",
23
+ "hi-base32": "^0.5.1"
25
24
  }
26
25
  }