@super-protocol/pki-common 1.5.2 → 1.5.4
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 +5 -1
- package/dist/helpers.js +24 -4
- package/dist/types.d.ts +5 -0
- package/package.json +1 -1
package/dist/helpers.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { ChallengeType, KeyPairPem } from './types';
|
|
2
|
+
import { ChallengeType, IntermediateCertificates, KeyPairPem, TeeSslCertificate } from './types';
|
|
3
3
|
import * as forge from 'node-forge';
|
|
4
4
|
export declare const binaryIdToDomainName: (binaryId: Buffer) => string;
|
|
5
5
|
export declare const generateDomain: (baseDomain: string, challengeType: ChallengeType, binaryId: Buffer) => string;
|
|
@@ -10,3 +10,7 @@ export declare const generateKeyPair: () => KeyPairPem;
|
|
|
10
10
|
export declare const getPublicKeyFromCsr: (csrPem: string) => string;
|
|
11
11
|
export declare const splitCerts: (certsPem: string) => string[];
|
|
12
12
|
export declare const extractCommonName: (certPem: string) => string | undefined;
|
|
13
|
+
export declare const extractIntermediateCertificates: {
|
|
14
|
+
(certs: TeeSslCertificate): IntermediateCertificates;
|
|
15
|
+
(certsChain: string): IntermediateCertificates;
|
|
16
|
+
};
|
package/dist/helpers.js
CHANGED
|
@@ -23,9 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.extractCommonName = exports.splitCerts = exports.getPublicKeyFromCsr = exports.generateKeyPair = exports.getPublicKeyHash = exports.getPublicKeyPemHash = exports.getPublicKeyFromPrivate = exports.generateDomain = exports.binaryIdToDomainName = void 0;
|
|
26
|
+
exports.extractIntermediateCertificates = exports.extractCommonName = exports.splitCerts = exports.getPublicKeyFromCsr = exports.generateKeyPair = exports.getPublicKeyHash = exports.getPublicKeyPemHash = exports.getPublicKeyFromPrivate = exports.generateDomain = exports.binaryIdToDomainName = void 0;
|
|
27
27
|
const forge = __importStar(require("node-forge"));
|
|
28
|
-
const node_crypto_1 = require("node:crypto");
|
|
29
28
|
const crypto_1 = require("crypto");
|
|
30
29
|
const base32 = __importStar(require("hi-base32"));
|
|
31
30
|
const binaryIdToDomainName = (binaryId) => base32.encode(binaryId.subarray(0, 16)).replace(/=+$/, '').toLowerCase();
|
|
@@ -47,7 +46,7 @@ const getPublicKeyHash = (publicKey) => {
|
|
|
47
46
|
const asn1 = forge.pki.publicKeyToAsn1(publicKey);
|
|
48
47
|
const der = forge.asn1.toDer(asn1).getBytes();
|
|
49
48
|
const keyBuffer = Buffer.from(der, 'binary');
|
|
50
|
-
const hash = (0,
|
|
49
|
+
const hash = (0, crypto_1.createHash)('sha256');
|
|
51
50
|
hash.update(keyBuffer);
|
|
52
51
|
return hash.digest();
|
|
53
52
|
};
|
|
@@ -90,4 +89,25 @@ const extractCommonName = (certPem) => {
|
|
|
90
89
|
return commonNameAttr?.value;
|
|
91
90
|
};
|
|
92
91
|
exports.extractCommonName = extractCommonName;
|
|
93
|
-
|
|
92
|
+
const extractIntermediateCertificates = (certificates) => {
|
|
93
|
+
let restCerts;
|
|
94
|
+
let certificate;
|
|
95
|
+
if (typeof certificates === 'string') {
|
|
96
|
+
const splittedCerts = (0, exports.splitCerts)(certificates);
|
|
97
|
+
const [cert, ...rest] = splittedCerts;
|
|
98
|
+
restCerts = rest;
|
|
99
|
+
certificate = cert;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
certificate = certificates.certPem;
|
|
103
|
+
restCerts = (0, exports.splitCerts)(certificates.caBundle);
|
|
104
|
+
}
|
|
105
|
+
const ca = restCerts.pop();
|
|
106
|
+
return {
|
|
107
|
+
cert: certificate,
|
|
108
|
+
intermediateCertificates: restCerts.join('\n') + '\n',
|
|
109
|
+
ca: ca + '\n',
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
exports.extractIntermediateCertificates = extractIntermediateCertificates;
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsa0RBQW9DO0FBQ3BDLG1DQUF5RDtBQUV6RCxrREFBb0M7QUFFN0IsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUNyRCxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQURoRSxRQUFBLG9CQUFvQix3QkFDNEM7QUFFdEUsTUFBTSxjQUFjLEdBQUcsQ0FDMUIsVUFBa0IsRUFDbEIsYUFBNEIsRUFDNUIsUUFBZ0IsRUFDbEIsRUFBRSxDQUFDLEdBQUcsSUFBQSw0QkFBb0IsRUFBQyxRQUFRLENBQUMsSUFBSSxhQUFhLElBQUksVUFBVSxFQUFFLENBQUM7QUFKM0QsUUFBQSxjQUFjLGtCQUk2QztBQUVqRSxNQUFNLHVCQUF1QixHQUFHLENBQUMsYUFBcUIsRUFBRSxFQUFFO0lBQzdELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBSlcsUUFBQSx1QkFBdUIsMkJBSWxDO0FBRUssTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFlBQW9CLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFNBQVMsR0FBRyxL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
|
package/dist/types.d.ts
CHANGED