@super-protocol/pki-client 1.0.0
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/challengeProvider/challengeProvider.d.ts +5 -0
- package/dist/challengeProvider/challengeProvider.js +3 -0
- package/dist/challengeProvider/challengeProviderSgx.d.ts +6 -0
- package/dist/challengeProvider/challengeProviderSgx.js +42 -0
- package/dist/challengeProvider/challengeProviderUntrusted.d.ts +9 -0
- package/dist/challengeProvider/challengeProviderUntrusted.js +19 -0
- package/dist/challengeProvider/index.d.ts +3 -0
- package/dist/challengeProvider/index.js +20 -0
- package/dist/helpers.d.ts +2 -0
- package/dist/helpers.js +6 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +19 -0
- package/dist/pkiClient.d.ts +15 -0
- package/dist/pkiClient.js +81 -0
- package/dist/types.d.ts +48 -0
- package/dist/types.js +18 -0
- package/package.json +24 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvY2hhbGxlbmdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ChallengeProvider } from './challengeProvider';
|
|
3
|
+
import { Challenge } from '@super-protocol/pki-common';
|
|
4
|
+
export declare class ChallengeProviderSgx implements ChallengeProvider {
|
|
5
|
+
generateChallenge(userData: Buffer): Promise<Challenge>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.ChallengeProviderSgx = void 0;
|
|
27
|
+
const pki_common_1 = require("@super-protocol/pki-common");
|
|
28
|
+
class ChallengeProviderSgx {
|
|
29
|
+
async generateChallenge(userData) {
|
|
30
|
+
// This module depends on native library that cannot be compiled for all architectures / operating systems.
|
|
31
|
+
// That is why we load it dynamically and use only when it's really needed.
|
|
32
|
+
const { TeeDeviceService } = await Promise.resolve().then(() => __importStar(require('@super-protocol/tee-lib')));
|
|
33
|
+
const device = new TeeDeviceService({});
|
|
34
|
+
const quoteData = await device.getDataOf(userData);
|
|
35
|
+
return {
|
|
36
|
+
type: pki_common_1.ChallengeType.SGXDCAP,
|
|
37
|
+
quoteBase64: quoteData.toString('base64'),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.ChallengeProviderSgx = ChallengeProviderSgx;
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlUHJvdmlkZXJTZ3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvY2hhbGxlbmdlUHJvdmlkZXJTZ3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFBc0U7QUFFdEUsTUFBYSxvQkFBb0I7SUFDN0IsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQWdCO1FBQ3BDLDJHQUEyRztRQUMzRywyRUFBMkU7UUFDM0UsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsd0RBQWEseUJBQXlCLEdBQUMsQ0FBQztRQUNyRSxNQUFNLE1BQU0sR0FBRyxJQUFJLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLE1BQU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxPQUFPO1lBQ0gsSUFBSSxFQUFFLDBCQUFhLENBQUMsT0FBTztZQUMzQixXQUFXLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7U0FDNUMsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQVpELG9EQVlDIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ChallengeProvider } from './challengeProvider';
|
|
3
|
+
import { Challenge } from '@super-protocol/pki-common';
|
|
4
|
+
export declare class ChallengeProviderUntrusted implements ChallengeProvider {
|
|
5
|
+
private readonly deviceId;
|
|
6
|
+
private readonly userData;
|
|
7
|
+
constructor(deviceId: string, userData: string);
|
|
8
|
+
generateChallenge(_: Buffer): Promise<Challenge>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChallengeProviderUntrusted = void 0;
|
|
4
|
+
const pki_common_1 = require("@super-protocol/pki-common");
|
|
5
|
+
class ChallengeProviderUntrusted {
|
|
6
|
+
constructor(deviceId, userData) {
|
|
7
|
+
this.deviceId = deviceId;
|
|
8
|
+
this.userData = userData;
|
|
9
|
+
}
|
|
10
|
+
async generateChallenge(_) {
|
|
11
|
+
return {
|
|
12
|
+
type: pki_common_1.ChallengeType.Untrusted,
|
|
13
|
+
userData: this.userData,
|
|
14
|
+
id: this.deviceId,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ChallengeProviderUntrusted = ChallengeProviderUntrusted;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlUHJvdmlkZXJVbnRydXN0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvY2hhbGxlbmdlUHJvdmlkZXJVbnRydXN0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkRBQXNFO0FBRXRFLE1BQWEsMEJBQTBCO0lBQ25DLFlBQ3FCLFFBQWdCLEVBQ2hCLFFBQWdCO1FBRGhCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUNsQyxDQUFDO0lBRUosS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQVM7UUFDN0IsT0FBTztZQUNILElBQUksRUFBRSwwQkFBYSxDQUFDLFNBQVM7WUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUNwQixDQUFDO0lBQ04sQ0FBQztDQUNKO0FBYkQsZ0VBYUMifQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./challengeProvider"), exports);
|
|
18
|
+
__exportStar(require("./challengeProviderSgx"), exports);
|
|
19
|
+
__exportStar(require("./challengeProviderUntrusted"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhbGxlbmdlUHJvdmlkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyx5REFBdUM7QUFDdkMsK0RBQTZDIn0=
|
package/dist/helpers.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateDomain = void 0;
|
|
4
|
+
const generateDomain = (baseDomain, challengeType, id) => `*.${id}.${challengeType}.${baseDomain}`;
|
|
5
|
+
exports.generateDomain = generateDomain;
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sY0FBYyxHQUFHLENBQzFCLFVBQWtCLEVBQ2xCLGFBQTRCLEVBQzVCLEVBQVUsRUFDWixFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksYUFBYSxJQUFJLFVBQVUsRUFBRSxDQUFDO0FBSmpDLFFBQUEsY0FBYyxrQkFJbUIifQ==
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./challengeProvider"), exports);
|
|
18
|
+
__exportStar(require("./pkiClient"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyw4Q0FBNEIifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TeeSslCertificate } from '@super-protocol/pki-common';
|
|
2
|
+
import { ChallengeProvider } from './challengeProvider';
|
|
3
|
+
import { AttestationServiceClient } from '@super-protocol/pki-api-client';
|
|
4
|
+
export interface SgxPkiClientOptions {
|
|
5
|
+
privateKeyPem?: string;
|
|
6
|
+
challengeProvider?: ChallengeProvider;
|
|
7
|
+
attestationServiceClient?: AttestationServiceClient;
|
|
8
|
+
}
|
|
9
|
+
export declare class PkiClient {
|
|
10
|
+
private readonly keyPair;
|
|
11
|
+
private readonly challengeProvider;
|
|
12
|
+
private readonly attestationServiceClient;
|
|
13
|
+
constructor(options?: SgxPkiClientOptions);
|
|
14
|
+
generateSslCertificate(): Promise<TeeSslCertificate>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PkiClient = void 0;
|
|
4
|
+
const pki_common_1 = require("@super-protocol/pki-common");
|
|
5
|
+
const challengeProvider_1 = require("./challengeProvider");
|
|
6
|
+
const pki_api_client_1 = require("@super-protocol/pki-api-client");
|
|
7
|
+
const AS_BASE_URL = 'tee.superprotocol.com';
|
|
8
|
+
const AS_CA = `-----BEGIN RSA PRIVATE KEY-----
|
|
9
|
+
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
|
|
46
|
+
-----END RSA PRIVATE KEY-----`;
|
|
47
|
+
class PkiClient {
|
|
48
|
+
constructor(options = {}) {
|
|
49
|
+
if (options.privateKeyPem) {
|
|
50
|
+
this.keyPair = {
|
|
51
|
+
privateKeyPem: options.privateKeyPem,
|
|
52
|
+
publicKeyPem: (0, pki_common_1.getPublicKeyFromPrivate)(options.privateKeyPem),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this.keyPair = (0, pki_common_1.generateKeyPair)();
|
|
57
|
+
}
|
|
58
|
+
this.challengeProvider =
|
|
59
|
+
options.challengeProvider || new challengeProvider_1.ChallengeProviderSgx();
|
|
60
|
+
this.attestationServiceClient =
|
|
61
|
+
options.attestationServiceClient ||
|
|
62
|
+
new pki_api_client_1.StaticAttestationServiceClient(AS_BASE_URL, AS_CA);
|
|
63
|
+
}
|
|
64
|
+
async generateSslCertificate() {
|
|
65
|
+
const keys = this.keyPair;
|
|
66
|
+
const publicKeyHash = (0, pki_common_1.getPublicKeyHash)(keys.publicKeyPem);
|
|
67
|
+
const challenge = await this.challengeProvider.generateChallenge(publicKeyHash);
|
|
68
|
+
const cert = await this.attestationServiceClient.generateCertificate({
|
|
69
|
+
publicKeyPem: keys.publicKeyPem,
|
|
70
|
+
challenge,
|
|
71
|
+
});
|
|
72
|
+
return {
|
|
73
|
+
certPem: cert.certPem,
|
|
74
|
+
caBundle: cert.rootCertsPem,
|
|
75
|
+
baseDomain: cert.domain,
|
|
76
|
+
keyPair: keys,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.PkiClient = PkiClient;
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGtpQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BraUNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFNb0M7QUFDcEMsMkRBQThFO0FBQzlFLG1FQUd3QztBQUV4QyxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUM1QyxNQUFNLEtBQUssR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBc0NnQixDQUFDO0FBUS9CLE1BQWEsU0FBUztJQUtsQixZQUFZLFVBQStCLEVBQUU7UUFDekMsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDWCxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7Z0JBQ3BDLFlBQVksRUFBRSxJQUFBLG9DQUF1QixFQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7YUFDL0QsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFBLDRCQUFlLEdBQUUsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQjtZQUNsQixPQUFPLENBQUMsaUJBQWlCLElBQUksSUFBSSx3Q0FBb0IsRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyx3QkFBd0I7WUFDekIsT0FBTyxDQUFDLHdCQUF3QjtnQkFDaEMsSUFBSSwrQ0FBOEIsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELEtBQUssQ0FBQyxzQkFBc0I7UUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFBLDZCQUFnQixFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxRCxNQUFNLFNBQVMsR0FDWCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBbUIsQ0FBQztZQUNqRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsU0FBUztTQUNaLENBQUMsQ0FBQztRQUNILE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUN2QixPQUFPLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ04sQ0FBQztDQUNKO0FBckNELDhCQXFDQyJ9
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export declare enum ChallengeType {
|
|
2
|
+
Untrusted = "untrusted",
|
|
3
|
+
SGXDCAP = "sgx-dcap",
|
|
4
|
+
SGXIAS = "sgx-ias",
|
|
5
|
+
TDX = "tdx",
|
|
6
|
+
AMDSEV = "amd-sev",
|
|
7
|
+
TDXSuperLoader = "tdx-super-loader"
|
|
8
|
+
}
|
|
9
|
+
export interface UntrustedChallenge {
|
|
10
|
+
type: ChallengeType.Untrusted;
|
|
11
|
+
userData: string;
|
|
12
|
+
id: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SGXDCAPChallenge {
|
|
15
|
+
type: ChallengeType.SGXDCAP;
|
|
16
|
+
quoteBase64: string;
|
|
17
|
+
}
|
|
18
|
+
export type Challenge = UntrustedChallenge | SGXDCAPChallenge;
|
|
19
|
+
export interface PkiCertParams {
|
|
20
|
+
serialNumber: string;
|
|
21
|
+
notBefore: string;
|
|
22
|
+
notAfter: string;
|
|
23
|
+
commonName: string;
|
|
24
|
+
countryName: string;
|
|
25
|
+
stateName: string;
|
|
26
|
+
localityName: string;
|
|
27
|
+
organizationName: string;
|
|
28
|
+
organizationUnitName: string;
|
|
29
|
+
}
|
|
30
|
+
export interface PkiUntrustedStaticKeyStorage {
|
|
31
|
+
type: 'untrusted-static';
|
|
32
|
+
publicKeyPem: string;
|
|
33
|
+
privateKeyPem: string;
|
|
34
|
+
}
|
|
35
|
+
export interface PkiInMemoryKeyStorage {
|
|
36
|
+
type: 'in-memory';
|
|
37
|
+
}
|
|
38
|
+
export interface PkiSuperDecentralizedSecretKeyStorage {
|
|
39
|
+
type: 'super';
|
|
40
|
+
}
|
|
41
|
+
export interface PkiTrustedKeyStorage {
|
|
42
|
+
type: 'trusted';
|
|
43
|
+
storage: PkiInMemoryKeyStorage | PkiSuperDecentralizedSecretKeyStorage;
|
|
44
|
+
}
|
|
45
|
+
export declare enum PkiRole {
|
|
46
|
+
root = "root",
|
|
47
|
+
subroot = "subroot"
|
|
48
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PkiRole = exports.ChallengeType = void 0;
|
|
4
|
+
var ChallengeType;
|
|
5
|
+
(function (ChallengeType) {
|
|
6
|
+
ChallengeType["Untrusted"] = "untrusted";
|
|
7
|
+
ChallengeType["SGXDCAP"] = "sgx-dcap";
|
|
8
|
+
ChallengeType["SGXIAS"] = "sgx-ias";
|
|
9
|
+
ChallengeType["TDX"] = "tdx";
|
|
10
|
+
ChallengeType["AMDSEV"] = "amd-sev";
|
|
11
|
+
ChallengeType["TDXSuperLoader"] = "tdx-super-loader";
|
|
12
|
+
})(ChallengeType || (exports.ChallengeType = ChallengeType = {}));
|
|
13
|
+
var PkiRole;
|
|
14
|
+
(function (PkiRole) {
|
|
15
|
+
PkiRole["root"] = "root";
|
|
16
|
+
PkiRole["subroot"] = "subroot";
|
|
17
|
+
})(PkiRole || (exports.PkiRole = PkiRole = {}));
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxhQU9YO0FBUEQsV0FBWSxhQUFhO0lBQ3JCLHdDQUF1QixDQUFBO0lBQ3ZCLHFDQUFvQixDQUFBO0lBQ3BCLG1DQUFrQixDQUFBO0lBQ2xCLDRCQUFXLENBQUE7SUFDWCxtQ0FBa0IsQ0FBQTtJQUNsQixvREFBbUMsQ0FBQTtBQUN2QyxDQUFDLEVBUFcsYUFBYSw2QkFBYixhQUFhLFFBT3hCO0FBOENELElBQVksT0FHWDtBQUhELFdBQVksT0FBTztJQUNmLHdCQUFhLENBQUE7SUFDYiw4QkFBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsT0FBTyx1QkFBUCxPQUFPLFFBR2xCIn0=
|
package/package.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@super-protocol/pki-client",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"directories": {
|
|
12
|
+
"lib": "dist"
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc -b",
|
|
16
|
+
"lint": "eslint --max-warnings=0 src",
|
|
17
|
+
"lint:fix": "eslint --fix src"
|
|
18
|
+
},
|
|
19
|
+
"author": "Super Protocol",
|
|
20
|
+
"license": "ISC",
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@super-protocol/tee-lib": "^0.2.6"
|
|
23
|
+
}
|
|
24
|
+
}
|