@super-protocol/pki-sync-client 5.0.10 → 5.0.11

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/README.md CHANGED
@@ -67,6 +67,9 @@ pki_authority:
67
67
  - `pki_authority.caBundle` (string, required): PEM-encoded CA certificate bundle for server verification
68
68
  - `pki_authority.servers` (array of strings, required): List of PKI server addresses (with automatic failover)
69
69
 
70
+ `pki-sync-client` uses only certificates from `pki_authority.caBundle` as
71
+ trusted CAs. System root certificates are never added to the TLS trust store.
72
+
70
73
  ## CLI Usage
71
74
 
72
75
  ### Basic Sync Command
@@ -32,6 +32,10 @@ export declare class SyncClient {
32
32
  private static normalizeRetryAttempts;
33
33
  private static normalizeRetryDelaySec;
34
34
  private static evaluateRetry;
35
+ private static buildChallengeProvider;
36
+ private createHttpsAgent;
37
+ private createAttestationServiceClient;
38
+ private preparePkiClient;
35
39
  private fetchSecrets;
36
40
  private saveSecrets;
37
41
  private saveArtifacts;
@@ -28,12 +28,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.SyncClient = void 0;
30
30
  const pki_client_1 = require("@super-protocol/pki-client");
31
+ const pki_api_client_1 = require("@super-protocol/pki-api-client");
31
32
  const pki_common_1 = require("@super-protocol/pki-common");
32
33
  const pki_attestation_engine_1 = require("@super-protocol/pki-attestation-engine");
33
34
  const root_certificate_verifier_1 = require("./root-certificate-verifier");
34
35
  const sdk_js_1 = require("@super-protocol/sdk-js");
35
36
  const axios_1 = __importDefault(require("axios"));
36
37
  const fs = __importStar(require("fs"));
38
+ const https = __importStar(require("https"));
37
39
  const path = __importStar(require("path"));
38
40
  class SyncClient {
39
41
  static DEFAULT_RETRY_ATTEMPTS = 1; // (default disable retries)
@@ -170,6 +172,55 @@ class SyncClient {
170
172
  reason: 'unknown-axios-error',
171
173
  };
172
174
  }
175
+ static buildChallengeProvider(challenge, log) {
176
+ switch (challenge.type) {
177
+ case pki_common_1.ChallengeType.TDX:
178
+ case pki_common_1.ChallengeType.TDXGOOGLE:
179
+ return new pki_client_1.ChallengeProviderTdx(log, challenge.type);
180
+ case pki_common_1.ChallengeType.SEVSNP:
181
+ return new pki_client_1.ChallengeProviderSevSnp(log);
182
+ case pki_common_1.ChallengeType.Untrusted:
183
+ return new pki_client_1.ChallengeProviderUntrusted(Buffer.from(challenge.idHex, 'hex'), log);
184
+ default:
185
+ throw new Error(`Unsupported challenge type: ${challenge.type}. Supported: tdx, tdx-google, sev-snp, untrusted, auto`);
186
+ }
187
+ }
188
+ createHttpsAgent(clientCert) {
189
+ const { cert, intermediateCertificates } = (0, pki_common_1.extractIntermediateCertificates)(clientCert);
190
+ return new https.Agent({
191
+ ca: this.options.caBundle,
192
+ cert: cert + intermediateCertificates,
193
+ key: clientCert.keyPair.privateKeyPem,
194
+ ...(this.options.disableServerIdentityCheck && {
195
+ checkServerIdentity: () => undefined,
196
+ }),
197
+ });
198
+ }
199
+ createAttestationServiceClient(server) {
200
+ return new pki_api_client_1.StaticAttestationServiceClient({
201
+ baseUrls: `https://${server}/api/v1/pki`,
202
+ caBundle: this.options.caBundle,
203
+ useRootCerts: false,
204
+ disableServerIdentityCheck: this.options.disableServerIdentityCheck ?? false,
205
+ });
206
+ }
207
+ async preparePkiClient(server, challenge, log) {
208
+ const attestationServiceClient = this.createAttestationServiceClient(server);
209
+ const challengeProvider = SyncClient.buildChallengeProvider(challenge, log);
210
+ const pkiClient = new pki_client_1.PkiClient({
211
+ challengeProvider,
212
+ attestationServiceClient,
213
+ networkID: this.options.networkID,
214
+ });
215
+ const clientCert = await pkiClient.generateSslCertificate([
216
+ 'localhost',
217
+ ]);
218
+ (0, root_certificate_verifier_1.verifyRootCertificatesMatch)(this.options.caBundle, clientCert.caBundle, log);
219
+ return {
220
+ clientCert,
221
+ httpsAgent: this.createHttpsAgent(clientCert),
222
+ };
223
+ }
173
224
  async fetchSecrets(server, config, httpsAgent) {
174
225
  const secretNames = config.secrets.map((s) => s.secretName);
175
226
  const response = await axios_1.default.post(`https://${server}/api/v1/secrets/get`, { objects: secretNames }, { httpsAgent });
@@ -190,16 +241,15 @@ class SyncClient {
190
241
  this.logger.info(`Saved secret "${secret.secretName}" to ${secret.saveTo}`);
191
242
  }
192
243
  }
193
- async saveArtifacts(config, secrets, pkiClientFactory) {
244
+ async saveArtifacts(config, secrets, clientCert) {
194
245
  await this.saveSecrets(config, secrets);
195
246
  if (this.options.saveCertsToDir) {
196
- await this.saveCertificates(pkiClientFactory, this.options.saveCertsToDir, this.options.saveCertsPrefix);
247
+ await this.saveCertificates(clientCert, this.options.saveCertsToDir, this.options.saveCertsPrefix);
197
248
  }
198
249
  }
199
- async saveCertificates(pkiClientFactory, certsDir, prefix) {
250
+ async saveCertificates(cert, certsDir, prefix) {
200
251
  // Ensure directory exists
201
252
  await fs.promises.mkdir(certsDir, { recursive: true });
202
- const cert = await pkiClientFactory.getCert();
203
253
  const { cert: clientCert, intermediateCertificates, ca, } = (0, pki_common_1.extractIntermediateCertificates)(cert);
204
254
  const prefixStr = prefix ? `${prefix}_` : '';
205
255
  // Save private key
@@ -236,27 +286,17 @@ class SyncClient {
236
286
  server,
237
287
  challengeType: challenge.type,
238
288
  });
239
- let pkiClientFactory;
289
+ let clientCert;
240
290
  let httpsAgent;
241
291
  try {
242
292
  serverLog.info('Trying sync server');
243
- const pkiConfig = {
244
- clientCertProvider: {
245
- type: 'pki-ca',
246
- challenge,
247
- baseUrl: `https://${server}/api/v1/pki`,
248
- caBundle: this.options.caBundle,
249
- disableServerIdentityCheck: this.options.disableServerIdentityCheck ?? false,
250
- },
251
- networkID: this.options.networkID,
252
- };
253
293
  serverLog.debug('Preparing PKI client for sync server', {
254
294
  disableServerIdentityCheck: this.options.disableServerIdentityCheck ?? false,
295
+ useSystemRootCertificates: false,
255
296
  });
256
- pkiClientFactory = new pki_client_1.PkiClientFactory(pkiConfig, serverLog);
257
- const clientCert = await pkiClientFactory.getCert();
258
- (0, root_certificate_verifier_1.verifyRootCertificatesMatch)(this.options.caBundle, clientCert.caBundle, serverLog);
259
- httpsAgent = await pkiClientFactory.getHTTPSAgent();
297
+ const preparedClient = await this.preparePkiClient(server, challenge, serverLog);
298
+ clientCert = preparedClient.clientCert;
299
+ httpsAgent = preparedClient.httpsAgent;
260
300
  serverLog.info('PKI client prepared successfully');
261
301
  }
262
302
  catch (error) {
@@ -300,7 +340,7 @@ class SyncClient {
300
340
  continue;
301
341
  }
302
342
  try {
303
- await this.saveArtifacts(config, fetchedSecrets, pkiClientFactory);
343
+ await this.saveArtifacts(config, fetchedSecrets, clientCert);
304
344
  serverLog.info('Successfully synced from server');
305
345
  return;
306
346
  }
@@ -316,4 +356,4 @@ class SyncClient {
316
356
  }
317
357
  }
318
358
  exports.SyncClient = SyncClient;
319
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3luYy1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFJb0M7QUFDcEMsMkRBT29DO0FBQ3BDLG1GQUdnRDtBQUNoRCwyRUFHcUM7QUFDckMsbURBQWlEO0FBQ2pELGtEQUEwQjtBQUMxQix1Q0FBeUI7QUFDekIsMkNBQTZCO0FBZ0I3QixNQUFhLFVBQVU7SUFDbkIsTUFBTSxDQUFVLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtJQUN4RSxNQUFNLENBQVUsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sQ0FBVSw2QkFBNkIsR0FBRyxJQUFJLEdBQUcsQ0FBQztRQUM1RCxXQUFXO1FBQ1gsWUFBWTtRQUNaLGNBQWM7UUFDZCxXQUFXO1FBQ1gsV0FBVztRQUNYLGNBQWM7S0FDakIsQ0FBQyxDQUFDO0lBQ0ssTUFBTSxDQUFVLDJCQUEyQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFbEUsT0FBTyxDQUFvQjtJQUMzQixTQUFTLENBQW1CO0lBQzVCLE1BQU0sQ0FBTTtJQUNaLGFBQWEsQ0FBUztJQUN0QixhQUFhLENBQVM7SUFFdEIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGFBQW9DO1FBSWxFLFFBQVEsYUFBYSxFQUFFLENBQUM7WUFDcEIsS0FBSywwQkFBYSxDQUFDLEdBQUcsQ0FBQztZQUN2QixLQUFLLDBCQUFhLENBQUMsU0FBUyxDQUFDO1lBQzdCLEtBQUssMEJBQWEsQ0FBQyxNQUFNO2dCQUNyQixPQUFPO29CQUNILFNBQVMsRUFBRSxJQUFJO29CQUNmLElBQUksRUFBRSxhQUFhO2lCQUN0QixDQUFDO1lBQ047Z0JBQ0ksT0FBTztvQkFDSCxTQUFTLEVBQUUsS0FBSztvQkFDaEIsSUFBSSxFQUFFLGdC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
359
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3luYy1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwyREFPb0M7QUFDcEMsbUVBQWdGO0FBQ2hGLDJEQVFvQztBQUNwQyxtRkFHZ0Q7QUFDaEQsMkVBR3FDO0FBQ3JDLG1EQUFpRDtBQUNqRCxrREFBMEI7QUFDMUIsdUNBQXlCO0FBQ3pCLDZDQUErQjtBQUMvQiwyQ0FBNkI7QUFnQjdCLE1BQWEsVUFBVTtJQUNuQixNQUFNLENBQVUsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO0lBQ3hFLE1BQU0sQ0FBVSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7SUFDckMsTUFBTSxDQUFVLDZCQUE2QixHQUFHLElBQUksR0FBRyxDQUFDO1FBQzVELFdBQVc7UUFDWCxZQUFZO1FBQ1osY0FBYztRQUNkLFdBQVc7UUFDWCxXQUFXO1FBQ1gsY0FBYztLQUNqQixDQUFDLENBQUM7SUFDSyxNQUFNLENBQVUsMkJBQTJCLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVsRSxPQUFPLENBQW9CO0lBQzNCLFNBQVMsQ0FBbUI7SUFDNUIsTUFBTSxDQUFNO0lBQ1osYUFBYSxDQUFTO0lBQ3RCLGFBQWEsQ0FBUztJQUV0QixNQUFNLENBQUMsa0JBQWtCLENBQUMsYUFBb0M7UUFJbEUsUUFBUSxhQUFhLEVBQUUsQ0FBQztZQUNwQixLQUFLLDBCQUFhLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLEtBQUssMEJBQWEsQ0FBQyxTQUFTLENBQUM7WUFDN0IsS0FBSywwQkFBYSxDQUFDLE1BQU07Z0JBQ3JCLE9BQU87b0JBQ0gsU0FBUyxFQUFFLElBQUk7b0JBQ2YsSUFBSSxFQUFFLGFBQWE7aUJBQ3RCLENBQUM7WUFDTjtnQkFDSSxPQUFPO29CQUNILFNBQVMsRUFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/pki-sync-client",
3
- "version": "5.0.10",
3
+ "version": "5.0.11",
4
4
  "description": "PKI sync client utility",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -29,6 +29,7 @@
29
29
  "@sinclair/typebox": "0.33.22",
30
30
  "@super-protocol/attestation-common": "0.2.0",
31
31
  "@super-protocol/attestation-wasm": "0.2.0",
32
+ "@super-protocol/pki-api-client": "5.0.0",
32
33
  "@super-protocol/pki-attestation-engine": "5.0.4",
33
34
  "@super-protocol/pki-client": "5.0.4",
34
35
  "@super-protocol/pki-common": "5.0.1",