@super-protocol/sdk-js 3.17.0 → 4.0.1
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/cjs/RIGenerator.d.ts +0 -1
- package/dist/cjs/RIGenerator.js +1 -1
- package/dist/cjs/TIIGenerator.d.ts +2 -3
- package/dist/cjs/TIIGenerator.js +4 -5
- package/dist/cjs/certificates/attr-cert.d.ts +14 -0
- package/dist/cjs/certificates/attr-cert.js +175 -0
- package/dist/cjs/certificates/constants.d.ts +1 -0
- package/dist/cjs/certificates/constants.js +5 -0
- package/dist/cjs/certificates/errors.d.ts +6 -0
- package/dist/cjs/certificates/errors.js +13 -0
- package/dist/cjs/certificates/generator.d.ts +4 -5
- package/dist/cjs/certificates/generator.js +10 -41
- package/dist/cjs/certificates/helper.d.ts +4 -1
- package/dist/cjs/certificates/helper.js +34 -1
- package/dist/cjs/certificates/index.d.ts +3 -0
- package/dist/cjs/certificates/index.js +4 -1
- package/dist/cjs/certificates/oids.d.ts +1 -0
- package/dist/cjs/certificates/oids.js +15 -0
- package/dist/cjs/certificates/types.d.ts +29 -0
- package/dist/cjs/utils/order/process-order.js +3 -4
- package/dist/cjs/utils/order/types.d.ts +0 -1
- package/dist/mjs/RIGenerator.d.ts +0 -1
- package/dist/mjs/RIGenerator.js +1 -1
- package/dist/mjs/TIIGenerator.d.ts +2 -3
- package/dist/mjs/TIIGenerator.js +4 -5
- package/dist/mjs/certificates/attr-cert.d.ts +14 -0
- package/dist/mjs/certificates/attr-cert.js +148 -0
- package/dist/mjs/certificates/constants.d.ts +1 -0
- package/dist/mjs/certificates/constants.js +2 -0
- package/dist/mjs/certificates/errors.d.ts +6 -0
- package/dist/mjs/certificates/errors.js +7 -0
- package/dist/mjs/certificates/generator.d.ts +4 -5
- package/dist/mjs/certificates/generator.js +10 -41
- package/dist/mjs/certificates/helper.d.ts +4 -1
- package/dist/mjs/certificates/helper.js +34 -1
- package/dist/mjs/certificates/index.d.ts +3 -0
- package/dist/mjs/certificates/index.js +4 -1
- package/dist/mjs/certificates/oids.d.ts +1 -0
- package/dist/mjs/certificates/oids.js +12 -0
- package/dist/mjs/certificates/types.d.ts +29 -0
- package/dist/mjs/utils/order/process-order.js +3 -4
- package/dist/mjs/utils/order/types.d.ts +0 -1
- package/package.json +2 -1
|
@@ -19,4 +19,7 @@ __exportStar(require("./types.js"), exports);
|
|
|
19
19
|
__exportStar(require("./serializer.js"), exports);
|
|
20
20
|
__exportStar(require("./generator.js"), exports);
|
|
21
21
|
__exportStar(require("./ocsp.js"), exports);
|
|
22
|
-
|
|
22
|
+
__exportStar(require("./crl.js"), exports);
|
|
23
|
+
__exportStar(require("./attr-cert.js"), exports);
|
|
24
|
+
__exportStar(require("./errors.js"), exports);
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2VydGlmaWNhdGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBNEI7QUFDNUIsNkNBQTJCO0FBQzNCLGtEQUFnQztBQUNoQyxpREFBK0I7QUFDL0IsNENBQTBCO0FBQzFCLDJDQUF5QjtBQUN6QixpREFBK0I7QUFDL0IsOENBQTRCIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const spOidMap: Record<string, string>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.spOidMap = void 0;
|
|
4
|
+
exports.spOidMap = {
|
|
5
|
+
offerId: `2.25.118591569550272351863431578432969235597`, //https://oid-base.com/get/2.25
|
|
6
|
+
version: `2.25.89608647622379531521813081835340064627`,
|
|
7
|
+
solutionHash: '2.25.126621805263824169368990084855177191209',
|
|
8
|
+
solutionSignatureFingerprint: '2.25.146706320816008986835882084179148850885',
|
|
9
|
+
usageLimit: '2.25.10669724692898924467771723672948238944',
|
|
10
|
+
regions: '2.25.84860155923764917363938497173951750915',
|
|
11
|
+
contentHash: '2.25.244458385008463012360150917174357787257',
|
|
12
|
+
encryptedEnvelopedAccess: '2.25.299946715261135043940657793719488935697',
|
|
13
|
+
issuerCertificateFingerprint: '2.25.113848071255037045300572254804885673021',
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jZXJ0aWZpY2F0ZXMvb2lkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLFFBQVEsR0FBMkI7SUFDOUMsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLCtCQUErQjtJQUN4RixPQUFPLEVBQUUsNkNBQTZDO0lBQ3RELFlBQVksRUFBRSw4Q0FBOEM7SUFDNUQsNEJBQTRCLEVBQUUsOENBQThDO0lBQzVFLFVBQVUsRUFBRSw2Q0FBNkM7SUFDekQsT0FBTyxFQUFFLDZDQUE2QztJQUN0RCxXQUFXLEVBQUUsOENBQThDO0lBQzNELHdCQUF3QixFQUFFLDhDQUE4QztJQUN4RSw0QkFBNEIsRUFBRSw4Q0FBOEM7Q0FDN0UsQ0FBQyJ9
|
|
@@ -120,3 +120,32 @@ export type CertWithKeyIdentifiers = {
|
|
|
120
120
|
authorityKeyIdentifier?: KeyIdentifier;
|
|
121
121
|
subjectKeyIdentifier?: KeyIdentifier;
|
|
122
122
|
};
|
|
123
|
+
export type CustomAttribute = {
|
|
124
|
+
oid: string;
|
|
125
|
+
values: Buffer[];
|
|
126
|
+
};
|
|
127
|
+
export type AttributeCerParams = {
|
|
128
|
+
holder: {
|
|
129
|
+
principalInfo?: CertificatePrincipal | string;
|
|
130
|
+
certFingerprint?: ArrayBuffer;
|
|
131
|
+
};
|
|
132
|
+
issuer: {
|
|
133
|
+
principalInfo: CertificatePrincipal | string;
|
|
134
|
+
};
|
|
135
|
+
attributes: CustomAttribute[];
|
|
136
|
+
extensions?: CustomExtension[];
|
|
137
|
+
notAfter: Date;
|
|
138
|
+
};
|
|
139
|
+
export type ParsedAttributeCert = {
|
|
140
|
+
holder: {
|
|
141
|
+
principalInfo?: string;
|
|
142
|
+
certFingerprint?: ArrayBuffer;
|
|
143
|
+
};
|
|
144
|
+
issuer: {
|
|
145
|
+
principalInfo: string;
|
|
146
|
+
};
|
|
147
|
+
attributes: CustomAttribute[];
|
|
148
|
+
extensions: CustomExtension[];
|
|
149
|
+
notBefore: Date;
|
|
150
|
+
notAfter: Date;
|
|
151
|
+
};
|
|
@@ -29,9 +29,9 @@ const getResultPublicKeyFromOrderInfo = (orderInfo) => {
|
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
const buildResourceResult = async (params) => {
|
|
32
|
-
const { orderId, orderInfo, resource, resourceEncryption, parentOrder
|
|
32
|
+
const { orderId, orderInfo, resource, resourceEncryption, parentOrder } = params;
|
|
33
33
|
if (parentOrder?.offerType === Offer_js_1.OfferType.TeeOffer) {
|
|
34
|
-
return await TIIGenerator_js_1.default.generate(orderId, resource, orderInfo.args, resourceEncryption
|
|
34
|
+
return await TIIGenerator_js_1.default.generate(orderId, resource, orderInfo.args, resourceEncryption);
|
|
35
35
|
}
|
|
36
36
|
const publicKey = getResultPublicKeyFromOrderInfo(orderInfo);
|
|
37
37
|
const content = {
|
|
@@ -61,7 +61,6 @@ const buildOrderResult = async (params) => {
|
|
|
61
61
|
resource: params.orderResult.resource,
|
|
62
62
|
resourceEncryption: params.orderResult.resourceEncryption,
|
|
63
63
|
parentOrder: params.parentOrder,
|
|
64
|
-
pccsApiUrl: params.pccsApiUrl,
|
|
65
64
|
});
|
|
66
65
|
};
|
|
67
66
|
const processOrder = async (params, transactionOptions) => {
|
|
@@ -102,4 +101,4 @@ const processOrder = async (params, transactionOptions) => {
|
|
|
102
101
|
throw new Error(`Unsupported price type: ${priceType}`);
|
|
103
102
|
};
|
|
104
103
|
exports.processOrder = processOrder;
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1vcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9vcmRlci9wcm9jZXNzLW9yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDRFQUFpRDtBQUNqRCxxRUFBMkM7QUFDM0MscUVBQTBDO0FBQzFDLG1EQUE0RDtBQUM1RCxtREFBOEQ7QUFDOUQsbURBQXFFO0FBR3JFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxvQkFBUyxDQUFDLElBQUksRUFBRSxvQkFBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sZ0NBQWdDLEdBQUc7SUFDdkMsc0JBQVcsQ0FBQyxHQUFHO0lBQ2Ysc0JBQVcsQ0FBQyxVQUFVO0lBQ3RCLHNCQUFXLENBQUMsU0FBUztDQUN0QixDQUFDO0FBVUYsTUFBTSwrQkFBK0IsR0FBRyxDQUN0QyxTQUF3QyxFQUN6QixFQUFFO0lBQ2pCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO0lBRTNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQWtCLENBQUM7SUFDaEQsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxFQUFFLE1BQXdCLEVBQW1CLEVBQUU7SUFDOUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUVqRixJQUFJLFdB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
|
|
@@ -7,7 +7,6 @@ declare class RIGenerator extends TeeInputGeneratorBase {
|
|
|
7
7
|
static generate(params: {
|
|
8
8
|
offerId: string;
|
|
9
9
|
encryptionPrivateKey: EncryptionKey;
|
|
10
|
-
pccsServiceApiUrl: string;
|
|
11
10
|
runtimeInputInfos: RuntimeInputInfo[];
|
|
12
11
|
argsHash?: Hash;
|
|
13
12
|
storage?: UploadStorageCredentials;
|
package/dist/mjs/RIGenerator.js
CHANGED
|
@@ -42,4 +42,4 @@ class RIGenerator extends TeeInputGeneratorBase {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
export default RIGenerator;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUklHZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUklHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFFBQVEsRUFDUixlQUFlLEVBRWYsYUFBYSxFQUdiLFNBQVMsRUFDVCxXQUFXLEdBRVosTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXBDLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8scUJBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFFL0QsTUFBTSxXQUFZLFNBQVEscUJBQXFCO0lBQzdDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsbUJBQWtDO1FBQ2xFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxNQUFNLENBQUMsVUFBVSxDQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUksRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFDbkUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUMxRCxDQUFDO1FBRUYsT0FBTztZQUNMLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1lBQzNCLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxRQUFRO1lBQ3BDLElBQUksRUFBRSxlQUFlLENBQUMsS0FBSztTQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BTXJCO1FBQ0MsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTFFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU1RSxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUksRUFBRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sU0FBUyxHQUFHO1lBQ2hCLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztZQUNsRCxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDekIsSUFBSSxFQUFFLGVBQWUsQ0FBQyxLQUFLO1NBQ2QsQ0FBQztRQUVoQixNQUFNLGtCQUFrQixHQUF1QjtZQUM3QyxTQUFTLEVBQUUsZ0JBQWdCO1lBQzNCLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7WUFDM0MsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN0RCxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQ2hELE1BQU0sQ0FBQyxPQUFPLEVBQ2QsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQzlCLENBQUM7UUFFRixPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQ3BDLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFDO1NBQ3hDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FDbEIsbUJBQStELEVBQy9ELFVBQWtCO1FBRWxCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDekIsR0FBRyxtQkFBbUI7WUFDdEIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1NBQ3ZELENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQUVELGVBQWUsV0FBVyxDQUFDIn0=
|
|
@@ -3,9 +3,9 @@ import { BlockchainId } from './types/index.js';
|
|
|
3
3
|
import { Encryption, Resource, RuntimeInputInfo, TeeInputInfo, TeeRunInfo, Hash } from '@super-protocol/dto-js';
|
|
4
4
|
import TeeInputGeneratorBase from './TeeInputGeneratorBase.js';
|
|
5
5
|
declare class TIIGenerator extends TeeInputGeneratorBase {
|
|
6
|
-
protected static buildTII(params: Pick<GenerateByOfferParams, 'offerId' | '
|
|
6
|
+
protected static buildTII(params: Pick<GenerateByOfferParams, 'offerId' | 'resource' | 'runtimeInputInfos' | 'encryption'>): Promise<TeeInputInfo>;
|
|
7
7
|
static generateByOffer(params: GenerateByOfferParams): Promise<string>;
|
|
8
|
-
static generate(orderId: BlockchainId, resource: Resource, args: unknown, encryption: Encryption,
|
|
8
|
+
static generate(orderId: BlockchainId, resource: Resource, args: unknown, encryption: Encryption, solutionHash?: Hash): Promise<string>;
|
|
9
9
|
static getTRI(tii: string, decryptionKey: Buffer): Promise<TeeRunInfo>;
|
|
10
10
|
static getUrl(tii: string, decryptionKey: Buffer): Promise<string>;
|
|
11
11
|
static getResource<T>(tii: string, decryptionKey: Buffer): Promise<T>;
|
|
@@ -15,7 +15,6 @@ export type GenerateByOfferParams = {
|
|
|
15
15
|
resource: Resource;
|
|
16
16
|
args: unknown;
|
|
17
17
|
encryption: Encryption;
|
|
18
|
-
sgxApiUrl: string;
|
|
19
18
|
runtimeInputInfos: RuntimeInputInfo[];
|
|
20
19
|
};
|
|
21
20
|
export default TIIGenerator;
|
package/dist/mjs/TIIGenerator.js
CHANGED
|
@@ -13,15 +13,15 @@ class TIIGenerator extends TeeInputGeneratorBase {
|
|
|
13
13
|
encryption: params.encryption,
|
|
14
14
|
};
|
|
15
15
|
return {
|
|
16
|
-
encryptedResource:
|
|
17
|
-
encryptedTRI:
|
|
16
|
+
encryptedResource: Crypto.encrypt(JSON.stringify(params.resource), resourceEncryption),
|
|
17
|
+
encryptedTRI: Crypto.encrypt(JSON.stringify(tri), triEncryption),
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
static async generateByOffer(params) {
|
|
21
21
|
const tii = await this.buildTII(params);
|
|
22
22
|
return JSON.stringify(tii);
|
|
23
23
|
}
|
|
24
|
-
static async generate(orderId, resource, args, encryption,
|
|
24
|
+
static async generate(orderId, resource, args, encryption, solutionHash) {
|
|
25
25
|
const order = new Order(orderId);
|
|
26
26
|
const parentOrderId = await order.getParentOrder();
|
|
27
27
|
const parentOrder = new Order(parentOrderId);
|
|
@@ -58,7 +58,6 @@ class TIIGenerator extends TeeInputGeneratorBase {
|
|
|
58
58
|
resource,
|
|
59
59
|
args,
|
|
60
60
|
encryption,
|
|
61
|
-
sgxApiUrl,
|
|
62
61
|
runtimeInputInfos,
|
|
63
62
|
});
|
|
64
63
|
}
|
|
@@ -80,4 +79,4 @@ class TIIGenerator extends TeeInputGeneratorBase {
|
|
|
80
79
|
}
|
|
81
80
|
}
|
|
82
81
|
export default TIIGenerator;
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVElJR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RJSUdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBV3BELE9BQU8scUJBQXFCLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sWUFBYSxTQUFRLHFCQUFxQjtJQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDN0IsTUFHQztRQUVELE1BQU0sYUFBYSxHQUFlLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RixNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQWlCLE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVELE1BQU0sa0JBQWtCLEdBQWUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUUsTUFBTSxHQUFHLEdBQWU7WUFDdEIsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtZQUMzQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7U0FDOUIsQ0FBQztRQUNGLE9BQU87WUFDTCxpQkFBaUIsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGtCQUFrQixDQUFDO1lBQ3RGLFlBQVksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsYUFBYSxDQUFDO1NBQ2pFLENBQUM7SUFD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
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RelativeDistinguishedName } from '@peculiar/asn1-x509';
|
|
2
|
+
import { AttributeCerParams, ParsedAttributeCert } from './types.js';
|
|
3
|
+
declare module '@peculiar/x509' {
|
|
4
|
+
interface Name {
|
|
5
|
+
getAsn(): RelativeDistinguishedName[];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export declare class AttributeCertificateHelper {
|
|
9
|
+
static generateCert(privateKey: CryptoKey, params: AttributeCerParams): Promise<ArrayBuffer>;
|
|
10
|
+
static parseCert(cert: ArrayBuffer): ParsedAttributeCert;
|
|
11
|
+
static verifyCert(cert: ArrayBuffer, publicKey: CryptoKey): Promise<{
|
|
12
|
+
isValid: boolean;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { AsnConvert, OctetString } from '@peculiar/asn1-schema';
|
|
2
|
+
import * as asn1js from 'asn1js';
|
|
3
|
+
import { AttributeCertificate, AttributeCertificateInfo, AttCertIssuer, AttCertValidityPeriod, Holder, V2Form, ObjectDigestInfo, } from '@peculiar/asn1-x509-attr';
|
|
4
|
+
import { Attribute, Extension, GeneralName, GeneralNames, Extensions, } from '@peculiar/asn1-x509';
|
|
5
|
+
import { Name, AlgorithmProvider } from '@peculiar/x509';
|
|
6
|
+
import { ONE_HOUR_MS } from './constants.js';
|
|
7
|
+
import { CertificatesHelper } from './helper.js';
|
|
8
|
+
import { cryptoProvider } from './setup-crypto.js';
|
|
9
|
+
import { AttributeCertificateGenerationError, AttributeCertificateParsingError } from './errors.js';
|
|
10
|
+
Name.prototype.getAsn = function () {
|
|
11
|
+
return this.asn;
|
|
12
|
+
};
|
|
13
|
+
export class AttributeCertificateHelper {
|
|
14
|
+
static async generateCert(privateKey, params) {
|
|
15
|
+
if (!params.holder.certFingerprint && !params.holder.principalInfo) {
|
|
16
|
+
throw new AttributeCertificateGenerationError('Either holder.certFingerprint or holder.principalInfo must be provided');
|
|
17
|
+
}
|
|
18
|
+
const holder = new Holder({
|
|
19
|
+
...(params.holder.certFingerprint && {
|
|
20
|
+
objectDigestInfo: new ObjectDigestInfo({
|
|
21
|
+
digestedObjectType: 1, //publicKeyCert
|
|
22
|
+
objectDigest: params.holder.certFingerprint,
|
|
23
|
+
digestAlgorithm: new AlgorithmProvider().toAsnAlgorithm({ name: 'SHA-256' }),
|
|
24
|
+
}),
|
|
25
|
+
}),
|
|
26
|
+
...(params.holder.principalInfo && {
|
|
27
|
+
entityName: new GeneralNames([
|
|
28
|
+
new GeneralName({
|
|
29
|
+
directoryName: new Name(CertificatesHelper.serializePrincipalInfo(params.holder.principalInfo)).getAsn(),
|
|
30
|
+
}),
|
|
31
|
+
]),
|
|
32
|
+
}),
|
|
33
|
+
});
|
|
34
|
+
const notBefore = new Date(Date.now() - ONE_HOUR_MS);
|
|
35
|
+
const issuerPrincipal = CertificatesHelper.serializePrincipalInfo(params.issuer.principalInfo);
|
|
36
|
+
const issuer = new AttCertIssuer({
|
|
37
|
+
v2Form: new V2Form({
|
|
38
|
+
issuerName: new GeneralNames([
|
|
39
|
+
new GeneralName({
|
|
40
|
+
directoryName: new Name(issuerPrincipal).getAsn(),
|
|
41
|
+
}),
|
|
42
|
+
]),
|
|
43
|
+
}),
|
|
44
|
+
});
|
|
45
|
+
const attrCertValidityPeriod = new AttCertValidityPeriod({
|
|
46
|
+
notBeforeTime: notBefore,
|
|
47
|
+
notAfterTime: params.notAfter,
|
|
48
|
+
});
|
|
49
|
+
const attributes = params.attributes.map((attr) => {
|
|
50
|
+
return new Attribute({
|
|
51
|
+
type: attr.oid,
|
|
52
|
+
values: attr.values.map((attr) => AsnConvert.serialize(new OctetString(attr))),
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
const extensions = new Extensions(params.extensions?.map((ext) => {
|
|
56
|
+
return new Extension({
|
|
57
|
+
extnID: ext.oid,
|
|
58
|
+
critical: false,
|
|
59
|
+
extnValue: new OctetString(ext.value),
|
|
60
|
+
});
|
|
61
|
+
}) ?? []);
|
|
62
|
+
const algorithm = {
|
|
63
|
+
...privateKey.algorithm,
|
|
64
|
+
hash: { name: 'SHA-256' },
|
|
65
|
+
};
|
|
66
|
+
const signatureAlg = new AlgorithmProvider().toAsnAlgorithm(algorithm);
|
|
67
|
+
const attributeCertificate = new AttributeCertificateInfo({
|
|
68
|
+
version: 1,
|
|
69
|
+
holder,
|
|
70
|
+
issuer,
|
|
71
|
+
signature: signatureAlg,
|
|
72
|
+
serialNumber: asn1js.Integer.fromBigInt(CertificatesHelper.generateSerialNumber()).toBER(),
|
|
73
|
+
attrCertValidityPeriod,
|
|
74
|
+
attributes,
|
|
75
|
+
extensions,
|
|
76
|
+
});
|
|
77
|
+
const tbs = AsnConvert.serialize(attributeCertificate);
|
|
78
|
+
const signature = await cryptoProvider.subtle.sign(algorithm, privateKey, tbs);
|
|
79
|
+
const ac = new AttributeCertificate({
|
|
80
|
+
acinfo: attributeCertificate,
|
|
81
|
+
signatureAlgorithm: signatureAlg,
|
|
82
|
+
signatureValue: new Uint8Array(signature).buffer,
|
|
83
|
+
});
|
|
84
|
+
const acDer = AsnConvert.serialize(ac);
|
|
85
|
+
return acDer;
|
|
86
|
+
}
|
|
87
|
+
static parseCert(cert) {
|
|
88
|
+
let ac;
|
|
89
|
+
try {
|
|
90
|
+
ac = AsnConvert.parse(cert, AttributeCertificate);
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
throw new AttributeCertificateParsingError('Error during ASN.1 parsing of Attribute Certificate: ' + e.message);
|
|
94
|
+
}
|
|
95
|
+
const holder = {};
|
|
96
|
+
const holderDirectoryName = ac.acinfo.holder.entityName?.find((entityName) => 'directoryName' in entityName)?.directoryName;
|
|
97
|
+
if (holderDirectoryName) {
|
|
98
|
+
holder.principalInfo = new Name(holderDirectoryName).toString();
|
|
99
|
+
}
|
|
100
|
+
const holderObjectDigestInfo = ac.acinfo.holder.objectDigestInfo;
|
|
101
|
+
if (holderObjectDigestInfo) {
|
|
102
|
+
holder.certFingerprint = holderObjectDigestInfo.objectDigest;
|
|
103
|
+
}
|
|
104
|
+
const notBefore = ac.acinfo.attrCertValidityPeriod.notBeforeTime;
|
|
105
|
+
const notAfter = ac.acinfo.attrCertValidityPeriod.notAfterTime;
|
|
106
|
+
const issuerDirectoryName = ac.acinfo.issuer.v2Form?.issuerName?.find((generalName) => 'directoryName' in generalName)?.directoryName;
|
|
107
|
+
if (!issuerDirectoryName) {
|
|
108
|
+
throw new AttributeCertificateParsingError('Issuer directoryName is missing in Attribute Certificate');
|
|
109
|
+
}
|
|
110
|
+
const issuer = {
|
|
111
|
+
principalInfo: new Name(issuerDirectoryName).toString(),
|
|
112
|
+
};
|
|
113
|
+
const attributes = (ac.acinfo.attributes || []).map((attr) => ({
|
|
114
|
+
oid: attr.type,
|
|
115
|
+
values: attr.values.map((value) => Buffer.from(AsnConvert.parse(value, OctetString).buffer)),
|
|
116
|
+
}));
|
|
117
|
+
const extensions = (ac.acinfo.extensions || []).map((ext) => ({
|
|
118
|
+
oid: ext.extnID,
|
|
119
|
+
value: Buffer.from(ext.extnValue.buffer),
|
|
120
|
+
}));
|
|
121
|
+
return {
|
|
122
|
+
holder,
|
|
123
|
+
issuer,
|
|
124
|
+
attributes,
|
|
125
|
+
extensions,
|
|
126
|
+
notBefore,
|
|
127
|
+
notAfter,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
static async verifyCert(cert, publicKey) {
|
|
131
|
+
let ac;
|
|
132
|
+
try {
|
|
133
|
+
ac = AsnConvert.parse(cert, AttributeCertificate);
|
|
134
|
+
}
|
|
135
|
+
catch (e) {
|
|
136
|
+
throw new AttributeCertificateParsingError('Error during ASN.1 parsing of Attribute Certificate: ' + e.message);
|
|
137
|
+
}
|
|
138
|
+
const tbs = AsnConvert.serialize(ac.acinfo);
|
|
139
|
+
const signature = new Uint8Array(ac.signatureValue);
|
|
140
|
+
const algorithm = {
|
|
141
|
+
...publicKey.algorithm,
|
|
142
|
+
...new AlgorithmProvider().toWebAlgorithm(ac.signatureAlgorithm),
|
|
143
|
+
};
|
|
144
|
+
const isValid = await cryptoProvider.subtle.verify(algorithm, publicKey, signature, tbs);
|
|
145
|
+
return { isValid };
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ci1jZXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NlcnRpZmljYXRlcy9hdHRyLWNlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLE1BQU0sRUFDTixNQUFNLEVBQ04sZ0JBQWdCLEdBQ2pCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFFWixVQUFVLEdBQ1gsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUXBHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHO0lBQ3RCLE9BQVEsSUFBd0QsQ0FBQyxHQUFHLENBQUM7QUFDdkUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FDdkIsVUFBcUIsRUFDckIsTUFBMEI7UUFFMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZ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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ONE_HOUR_MS: number;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const ONE_HOUR_MS = 60 * 60 * 1000; // 1 hour in milliseconds
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NlcnRpZmljYXRlcy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMseUJBQXlCIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class AttributeCertificateError extends Error {
|
|
2
|
+
}
|
|
3
|
+
export class AttributeCertificateGenerationError extends AttributeCertificateError {
|
|
4
|
+
}
|
|
5
|
+
export class AttributeCertificateParsingError extends AttributeCertificateError {
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NlcnRpZmljYXRlcy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHlCQUEwQixTQUFRLEtBQUs7Q0FBRztBQUN2RCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEseUJBQXlCO0NBQUc7QUFDckYsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLHlCQUF5QjtDQUFHIn0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AsnEncodedType } from '@peculiar/x509';
|
|
1
2
|
import { GenerateCertParams, GenerateCsrParams, ParsedCert, ParsedCsr, SignatureAlgorithm } from './types.js';
|
|
2
3
|
export declare class CertificateGenerator {
|
|
3
4
|
/**
|
|
@@ -19,11 +20,11 @@ export declare class CertificateGenerator {
|
|
|
19
20
|
*/
|
|
20
21
|
static generateCsr(params: GenerateCsrParams): Promise<string>;
|
|
21
22
|
/**
|
|
22
|
-
* Checks and parses a certificate
|
|
23
|
-
* @param
|
|
23
|
+
* Checks and parses a certificate
|
|
24
|
+
* @param rawCert - The certificate
|
|
24
25
|
* @returns An object containing the parsed certificate details.
|
|
25
26
|
*/
|
|
26
|
-
static checkAndParseCert(
|
|
27
|
+
static checkAndParseCert(rawCert: AsnEncodedType): Promise<ParsedCert>;
|
|
27
28
|
/**
|
|
28
29
|
* Checks and parses a Certificate Signing Request (CSR) in PEM format.
|
|
29
30
|
* @param csrPem - The CSR in PEM format.
|
|
@@ -31,8 +32,6 @@ export declare class CertificateGenerator {
|
|
|
31
32
|
*/
|
|
32
33
|
static checkAndParseCsr(csrPem: string): Promise<ParsedCsr>;
|
|
33
34
|
private static getCryptoKeys;
|
|
34
|
-
private static generateSerialNumber;
|
|
35
|
-
private static getPrincipalInfo;
|
|
36
35
|
private static getAlgorithm;
|
|
37
36
|
private static extractDnsNamesFromExtensions;
|
|
38
37
|
}
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
import assert from 'assert';
|
|
2
|
-
import { randomUUID } from 'crypto';
|
|
3
2
|
import forge from 'node-forge';
|
|
4
3
|
import { X509CertificateGenerator, BasicConstraintsExtension, ExtendedKeyUsageExtension, Extension, SubjectAlternativeNameExtension, ExtendedKeyUsage, KeyUsageFlags, KeyUsagesExtension, Pkcs10CertificateRequestGenerator, Pkcs10CertificateRequest, X509Certificate, AuthorityInfoAccessExtension, AuthorityKeyIdentifierExtension, SubjectKeyIdentifierExtension, } from '@peculiar/x509';
|
|
5
4
|
import { cryptoProvider } from './setup-crypto.js';
|
|
6
5
|
import { CryptoKeysTransformer } from '../utils/CryptoKeysTransformer.js';
|
|
7
6
|
import { isIpAddress } from '../utils/helper.js';
|
|
8
|
-
|
|
7
|
+
import { CertificatesHelper } from './helper.js';
|
|
9
8
|
const ONE_HOUR_MS = 60 * 60 * 1000; // 1 hour in milliseconds
|
|
10
|
-
const principalAttributeMap = {
|
|
11
|
-
commonName: 'CN',
|
|
12
|
-
country: 'C',
|
|
13
|
-
localityName: 'L',
|
|
14
|
-
stateName: 'ST',
|
|
15
|
-
organization: 'O',
|
|
16
|
-
organizationalUnit: 'OU',
|
|
17
|
-
};
|
|
18
9
|
const notAllowedCertificateCustomExtensions = [...Object.values(forge.pki.oids)];
|
|
19
10
|
export class CertificateGenerator {
|
|
20
11
|
/**
|
|
@@ -69,9 +60,9 @@ export class CertificateGenerator {
|
|
|
69
60
|
}
|
|
70
61
|
}
|
|
71
62
|
const createCertificateParams = {
|
|
72
|
-
serialNumber:
|
|
73
|
-
issuer:
|
|
74
|
-
subject:
|
|
63
|
+
serialNumber: CertificatesHelper.generateSerialNumber().toString(16),
|
|
64
|
+
issuer: CertificatesHelper.serializePrincipalInfo(params.issuer),
|
|
65
|
+
subject: CertificatesHelper.serializePrincipalInfo(params.subject),
|
|
75
66
|
notBefore: new Date(Date.now() - ONE_HOUR_MS), //1 hour ago to avoid clock skew issues between servers
|
|
76
67
|
notAfter: params.notAfter,
|
|
77
68
|
publicKey: subjectPublicKey,
|
|
@@ -117,7 +108,7 @@ export class CertificateGenerator {
|
|
|
117
108
|
}
|
|
118
109
|
}
|
|
119
110
|
const createCsrParams = {
|
|
120
|
-
name:
|
|
111
|
+
name: CertificatesHelper.serializePrincipalInfo(params.subject),
|
|
121
112
|
keys,
|
|
122
113
|
signingAlgorithm,
|
|
123
114
|
extensions,
|
|
@@ -126,12 +117,12 @@ export class CertificateGenerator {
|
|
|
126
117
|
return csr.toString('pem');
|
|
127
118
|
}
|
|
128
119
|
/**
|
|
129
|
-
* Checks and parses a certificate
|
|
130
|
-
* @param
|
|
120
|
+
* Checks and parses a certificate
|
|
121
|
+
* @param rawCert - The certificate
|
|
131
122
|
* @returns An object containing the parsed certificate details.
|
|
132
123
|
*/
|
|
133
|
-
static async checkAndParseCert(
|
|
134
|
-
const cert = new X509Certificate(
|
|
124
|
+
static async checkAndParseCert(rawCert) {
|
|
125
|
+
const cert = new X509Certificate(rawCert);
|
|
135
126
|
if (cert.issuer === cert.subject) {
|
|
136
127
|
const isValid = await cert.verify();
|
|
137
128
|
if (!isValid) {
|
|
@@ -198,28 +189,6 @@ export class CertificateGenerator {
|
|
|
198
189
|
assert.deepEqual(pubKey.algorithm, privKey.algorithm, 'Both keys must have same algorithm defined');
|
|
199
190
|
return { publicKey: pubKey, privateKey: privKey };
|
|
200
191
|
}
|
|
201
|
-
static generateSerialNumber() {
|
|
202
|
-
const uuid = randomUUID().replace(/-/g, '');
|
|
203
|
-
let serial = BigInt('0x' + uuid) % MAX_X509_SERIAL;
|
|
204
|
-
// Ensure the serial number is positive in ASN1
|
|
205
|
-
// 89abcdefABCDEF - set of all hex symbols that have 1 as first bit
|
|
206
|
-
const serialHex = serial.toString(16);
|
|
207
|
-
if (serialHex[0] && '89abcdefABCDEF'.includes(serialHex[0])) {
|
|
208
|
-
serial = serial >> 1n;
|
|
209
|
-
}
|
|
210
|
-
return serial.toString(16);
|
|
211
|
-
}
|
|
212
|
-
static getPrincipalInfo(principal) {
|
|
213
|
-
if (typeof principal === 'string') {
|
|
214
|
-
return principal;
|
|
215
|
-
}
|
|
216
|
-
if (!principal.commonName) {
|
|
217
|
-
throw new Error('Common name is required');
|
|
218
|
-
}
|
|
219
|
-
return Object.entries(principal)
|
|
220
|
-
.map(([key, value]) => `${principalAttributeMap[key] || key}=${value}`)
|
|
221
|
-
.join(',');
|
|
222
|
-
}
|
|
223
192
|
static getAlgorithm(signatureAlgorithm) {
|
|
224
193
|
switch (signatureAlgorithm) {
|
|
225
194
|
case 'RSASSA-PKCS1-SHA256':
|
|
@@ -252,4 +221,4 @@ export class CertificateGenerator {
|
|
|
252
221
|
return dnsNames;
|
|
253
222
|
}
|
|
254
223
|
}
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NlcnRpZmljYXRlcy9nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixTQUFTLEVBQ1QsK0JBQStCLEVBRy9CLGdCQUFnQixFQUNoQixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGlDQUFpQyxFQUVqQyx3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLDRCQUE0QixFQUM1QiwrQkFBK0IsRUFDL0IsNkJBQTZCLEdBQzlCLE1BQU0sZ0JBQWdCLENBQUM7QUFXeEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUV0RCxNQUFNLFdBQVcsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLHlCQUF5QjtBQUU3RCxNQUFNLHFCQUFxQixHQUEyQjtJQUNwRCxVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEVBQUUsR0FBRztJQUNaLFlBQVksRUFBRSxHQUFHO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsWUFBWSxFQUFFLEdBQUc7SUFDakIsa0JBQWtCLEVBQUUsSUFBSTtDQUN6QixDQUFDO0FBRUYsTUFBTSxxQ0FBcUMsR0FBRyxDQUFDLEdB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
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NlcnRpZmljYXRlcy9nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEVBRUwsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsU0FBUyxFQUNULCtCQUErQixFQUcvQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixpQ0FBaUMsRUFFakMsd0JBQXdCLEVBQ3hCLGVBQWUsRUFDZiw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLDZCQUE2QixHQUU5QixNQUFNLGdCQUFnQixDQUFDO0FBVXhCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpELE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMseUJBQXlCO0FBRTdELE1BQU0scUNBQXFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBRWpGLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0I7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQTBCO1FBQ2xELE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFOUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxVQUFV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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as pkijs from 'pkijs';
|
|
3
|
-
import { AlgorithmObj, CertWithKeyIdentifiers, ValidateCertChainResult } from './types.js';
|
|
3
|
+
import { AlgorithmObj, CertWithKeyIdentifiers, CertificatePrincipal, ValidateCertChainResult } from './types.js';
|
|
4
4
|
import './setup-crypto.js';
|
|
5
5
|
export declare class CertificatesHelper {
|
|
6
6
|
private static downloadedCertificateCache;
|
|
@@ -26,4 +26,7 @@ export declare class CertificatesHelper {
|
|
|
26
26
|
}): Promise<ValidateCertChainResult>;
|
|
27
27
|
static toPkiCerts(certs: string | string[]): pkijs.Certificate[];
|
|
28
28
|
static addKeyIdentifiersToCerts(certs: Array<pkijs.Certificate | CertWithKeyIdentifiers>): CertWithKeyIdentifiers[];
|
|
29
|
+
static serializePrincipalInfo(principal: CertificatePrincipal | string): string;
|
|
30
|
+
static generateSerialNumber(): bigint;
|
|
31
|
+
static calculateCertFingerprint256(certDer: ArrayBuffer): Promise<Buffer>;
|
|
29
32
|
}
|