feat: 초기 프로젝트 설정 및 룰.md 파일 추가
This commit is contained in:
74
api.hyungi.net/node_modules/@simplewebauthn/server/script/services/settingsService.js
generated
vendored
Normal file
74
api.hyungi.net/node_modules/@simplewebauthn/server/script/services/settingsService.js
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.SettingsService = void 0;
|
||||
const convertCertBufferToPEM_js_1 = require("../helpers/convertCertBufferToPEM.js");
|
||||
const android_safetynet_js_1 = require("./defaultRootCerts/android-safetynet.js");
|
||||
const android_key_js_1 = require("./defaultRootCerts/android-key.js");
|
||||
const apple_js_1 = require("./defaultRootCerts/apple.js");
|
||||
const mds_js_1 = require("./defaultRootCerts/mds.js");
|
||||
class BaseSettingsService {
|
||||
constructor() {
|
||||
// Certificates are stored as PEM-formatted strings
|
||||
Object.defineProperty(this, "pemCertificates", {
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true,
|
||||
value: void 0
|
||||
});
|
||||
this.pemCertificates = new Map();
|
||||
}
|
||||
setRootCertificates(opts) {
|
||||
const { identifier, certificates } = opts;
|
||||
const newCertificates = [];
|
||||
for (const cert of certificates) {
|
||||
if (cert instanceof Uint8Array) {
|
||||
newCertificates.push((0, convertCertBufferToPEM_js_1.convertCertBufferToPEM)(cert));
|
||||
}
|
||||
else {
|
||||
newCertificates.push(cert);
|
||||
}
|
||||
}
|
||||
this.pemCertificates.set(identifier, newCertificates);
|
||||
}
|
||||
getRootCertificates(opts) {
|
||||
const { identifier } = opts;
|
||||
return this.pemCertificates.get(identifier) ?? [];
|
||||
}
|
||||
}
|
||||
/**
|
||||
* A basic service for specifying acceptable root certificates for all supported attestation
|
||||
* statement formats.
|
||||
*
|
||||
* In addition, default root certificates are included for the following statement formats:
|
||||
*
|
||||
* - `'android-key'`
|
||||
* - `'android-safetynet'`
|
||||
* - `'apple'`
|
||||
* - `'android-mds'`
|
||||
*
|
||||
* These can be overwritten as needed by setting alternative root certificates for their format
|
||||
* identifier using `setRootCertificates()`.
|
||||
*/
|
||||
exports.SettingsService = new BaseSettingsService();
|
||||
// Initialize default certificates
|
||||
exports.SettingsService.setRootCertificates({
|
||||
identifier: 'android-key',
|
||||
certificates: [
|
||||
android_key_js_1.Google_Hardware_Attestation_Root_1,
|
||||
android_key_js_1.Google_Hardware_Attestation_Root_2,
|
||||
android_key_js_1.Google_Hardware_Attestation_Root_3,
|
||||
android_key_js_1.Google_Hardware_Attestation_Root_4,
|
||||
],
|
||||
});
|
||||
exports.SettingsService.setRootCertificates({
|
||||
identifier: 'android-safetynet',
|
||||
certificates: [android_safetynet_js_1.GlobalSign_Root_CA],
|
||||
});
|
||||
exports.SettingsService.setRootCertificates({
|
||||
identifier: 'apple',
|
||||
certificates: [apple_js_1.Apple_WebAuthn_Root_CA],
|
||||
});
|
||||
exports.SettingsService.setRootCertificates({
|
||||
identifier: 'mds',
|
||||
certificates: [mds_js_1.GlobalSign_Root_CA_R3],
|
||||
});
|
||||
Reference in New Issue
Block a user