@super-protocol/tee-lib
Advanced tools
Comparing version 0.2.4 to 0.2.5
/// <reference types="node" /> | ||
import { util, pki } from 'node-forge'; | ||
import { ITeeDeviceService, ParseTlsCertificateResult } from '../tee-device'; | ||
@@ -21,2 +22,11 @@ import { PinoLogger } from '../helpers'; | ||
}; | ||
export declare type GenerateCsrParams = { | ||
subject: { | ||
commonName: string; | ||
organizationName?: string; | ||
organizationUnit?: string; | ||
}; | ||
withQuote?: boolean; | ||
rsaKeyBits?: number; | ||
}; | ||
export declare type GenerateTlsCertResult = { | ||
@@ -36,2 +46,3 @@ format: string; | ||
export interface ITeeCertificateService { | ||
generateCsr(params: GenerateCsrParams): Promise<GeneratedCsr>; | ||
generateTlsCertificate(params?: GenerateTLSCertParams): Promise<GenerateTlsCertResult>; | ||
@@ -42,2 +53,3 @@ parseAndValidateTlsCertificate(cert: Buffer): Promise<ParseTlsCertificateResult>; | ||
verifyTlsCertificateHostname(certChainInPem: string | Buffer, hostnameOrIp: string): Promise<boolean>; | ||
generateQuote(publicKey: pki.PublicKey, logger?: PinoLogger): Promise<util.ByteBuffer>; | ||
} |
/// <reference types="node" /> | ||
import { pki } from 'node-forge'; | ||
import { GenerateTLSCertParams, GenerateTlsCertResult, ITeeCertificateService, TeeCertificateServiceParams, GeneratedCsr } from './interfaces'; | ||
import { pki, util } from 'node-forge'; | ||
import { GenerateTLSCertParams, GenerateTlsCertResult, ITeeCertificateService, TeeCertificateServiceParams, GenerateCsrParams, GeneratedCsr } from './interfaces'; | ||
import { ParseTlsCertificateResult } from '../tee-device'; | ||
declare module 'node-forge' { | ||
namespace pki { | ||
interface CertificateRequest extends Certificate { | ||
setAttributes(opts: Record<string, unknown>[]): void; | ||
} | ||
} | ||
} | ||
export declare class TeeCertificateService implements ITeeCertificateService { | ||
@@ -17,4 +24,5 @@ static readonly certOidQuote = "0.6.9.42.840.113741.1337.6"; | ||
parseAndValidateTlsCertificate(cert: Buffer): Promise<ParseTlsCertificateResult>; | ||
generateCsrWithQuota(keys: pki.rsa.KeyPair, params?: GenerateTLSCertParams): Promise<GeneratedCsr>; | ||
generateQuote(publicKey: pki.PublicKey): Promise<util.ByteBuffer>; | ||
generateCsr(params: GenerateCsrParams): Promise<GeneratedCsr>; | ||
generateTlsCertificate(params?: GenerateTLSCertParams): Promise<GenerateTlsCertResult>; | ||
} |
@@ -63,103 +63,65 @@ "use strict"; | ||
} | ||
async generateCsrWithQuota(keys, params = {}) { | ||
async generateQuote(publicKey) { | ||
const methodLogger = this.logger?.child({ method: 'generateQuote' }); | ||
methodLogger?.trace('Get public key in der format'); | ||
const publicKeyData = Buffer.from(node_forge_1.asn1.toDer(node_forge_1.pki.publicKeyToAsn1(publicKey)).getBytes(), 'binary'); | ||
methodLogger?.trace('Calc public key hash'); | ||
const publicKeyHash = (0, calculate_hash_1.calculateHash)(publicKeyData, 'sha256'); | ||
methodLogger?.trace({ publicKeyHash: publicKeyHash.toString('hex') }, 'Generate quote with sha256 hash of public key'); | ||
return node_forge_1.util.createBuffer(await this.teeDevice.getDataOf(publicKeyHash)); | ||
} | ||
async generateCsr(params) { | ||
const logger = this.logger?.child({ | ||
method: 'generateCsrWithQuota', | ||
method: 'generateCsr', | ||
}); | ||
let quote = undefined; | ||
if (params.withQuote) { | ||
logger?.trace('Get public key in der format'); | ||
const publicKeyData = Buffer.from(node_forge_1.asn1.toDer(node_forge_1.pki.publicKeyToAsn1(keys.publicKey)).getBytes(), 'binary'); | ||
logger?.trace('Calc public key hash'); | ||
const publicKeyHash = (0, calculate_hash_1.calculateHash)(publicKeyData, 'sha256'); | ||
logger?.trace({ publicKeyHash: publicKeyHash.toString('hex') }, 'Generate quote with sha256 hash of public key'); | ||
quote = node_forge_1.util.createBuffer(await this.teeDevice.getDataOf(publicKeyHash)); | ||
} | ||
const keys = node_forge_1.pki.rsa.generateKeyPair(params.rsaKeyBits ?? 3072); | ||
const csr = node_forge_1.pki.createCertificationRequest(); | ||
csr.publicKey = keys.publicKey; | ||
csr.serialNumber = params.serialNumber ?? '01'; | ||
const subj = [ | ||
const subject = [ | ||
{ | ||
name: 'commonName', | ||
value: params.subject?.commonName ?? 'localhost', | ||
value: params.subject.commonName, | ||
}, | ||
{ | ||
name: 'countryName', | ||
value: params.subject?.countryName ?? 'US', | ||
}, | ||
{ | ||
shortName: 'ST', | ||
value: params.subject?.state ?? 'New York', | ||
}, | ||
{ | ||
name: 'localityName', | ||
value: params.subject?.localityName ?? 'New York', | ||
}, | ||
{ | ||
name: 'organizationName', | ||
value: params.subject?.organizationName ?? 'SuperProtocol', | ||
value: params.subject.organizationName || 'SuperProtocol', | ||
}, | ||
{ | ||
shortName: 'OU', | ||
value: params.subject?.organizationUnit ?? 'TEE', | ||
value: params.subject.organizationUnit || 'TEE', | ||
}, | ||
]; | ||
csr.setSubject(subj); | ||
const exts = [ | ||
csr.setSubject(subject); | ||
const attributes = [ | ||
{ | ||
name: 'basicConstraints', | ||
cA: true, | ||
}, | ||
{ | ||
name: 'keyUsage', | ||
keyCertSign: true, | ||
digitalSignature: true, | ||
nonRepudiation: true, | ||
keyEncipherment: true, | ||
dataEncipherment: true, | ||
}, | ||
{ | ||
name: 'extKeyUsage', | ||
serverAuth: true, | ||
clientAuth: true, | ||
codeSigning: true, | ||
}, | ||
{ | ||
name: 'subjectAltName', | ||
altNames: [ | ||
...(params.dnsNames ?? []).map((value) => ({ | ||
type: 2, | ||
value, | ||
})), | ||
name: 'extensionRequest', | ||
extensions: [ | ||
{ | ||
type: 2, | ||
value: 'localhost', | ||
name: 'subjectAltName', | ||
altNames: [ | ||
{ | ||
// type 2 is DNS | ||
type: 2, | ||
value: params.subject.commonName, | ||
}, | ||
], | ||
}, | ||
...(params.ips ?? []).map((ip) => ({ | ||
type: 7, | ||
ip, | ||
})), | ||
{ | ||
type: 7, | ||
ip: '127.0.0.1', | ||
}, | ||
...(params.withQuote | ||
? [ | ||
{ | ||
id: TeeCertificateService.certOidQuote, | ||
value: (await this.generateQuote(csr.publicKey)).getBytes(), | ||
// value: asn1.create( | ||
// asn1.Class.UNIVERSAL, | ||
// asn1.Type.OCTETSTRING, | ||
// false, | ||
// quote!.getBytes(), | ||
// ), | ||
}, | ||
] | ||
: []), | ||
], | ||
}, | ||
{ | ||
name: 'subjectKeyIdentifier', | ||
}, | ||
...(params.withQuote | ||
? [ | ||
{ | ||
id: TeeCertificateService.certOidQuote, | ||
value: quote.getBytes(), | ||
}, | ||
] | ||
: []), | ||
]; | ||
try { | ||
csr.setExtensions(exts); | ||
} | ||
catch (err) { | ||
this.logger?.error(err, 'Unable to add extensions'); | ||
} | ||
csr.setAttributes(attributes); | ||
logger?.trace('Self sign'); | ||
@@ -181,11 +143,2 @@ csr.sign(keys.privateKey, node_forge_1.md.sha256.create()); | ||
const keys = node_forge_1.pki.rsa.generateKeyPair(params.rsaKeyBits ?? 3072); | ||
let quote = undefined; | ||
if (params.withQuote) { | ||
logger?.trace('Get public key in der format'); | ||
const publicKeyData = Buffer.from(node_forge_1.asn1.toDer(node_forge_1.pki.publicKeyToAsn1(keys.publicKey)).getBytes(), 'binary'); | ||
logger?.trace('Calc public key hash'); | ||
const publicKeyHash = (0, calculate_hash_1.calculateHash)(publicKeyData, 'sha256'); | ||
logger?.trace({ publicKeyHash: publicKeyHash.toString('hex') }, 'Generate quote with sha256 hash of public key'); | ||
quote = node_forge_1.util.createBuffer(await this.teeDevice.getDataOf(publicKeyHash)); | ||
} | ||
const cert = node_forge_1.pki.createCertificate(); | ||
@@ -272,3 +225,3 @@ cert.publicKey = keys.publicKey; | ||
id: TeeCertificateService.certOidQuote, | ||
value: quote.getBytes(), | ||
value: (await this.generateQuote(cert.publicKey)).getBytes(), | ||
// value: asn1.create( | ||
@@ -301,2 +254,2 @@ // asn1.Class.UNIVERSAL, | ||
TeeCertificateService.certOidQuote = '0.6.9.42.840.113741.1337.6'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVlLWNlcnRpZmljYXRlLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2VydGlmaWNhdGUvdGVlLWNlcnRpZmljYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQWlEO0FBQ2pELDJEQUF1RDtBQVV2RCxxQ0FBaUU7QUFDakUsOERBQTBEO0FBRzFELE1BQWEscUJBQXFCO0lBUWhDLFlBQVksTUFBbUM7UUFIOUIsZUFBVSxHQUFHLElBQUksc0JBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUl2RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLE9BQU8sR0FBRyxnQkFBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGVBQXVCO1FBQzdDLE1BQU0sT0FBTyxHQUFHLDZCQUE2QixDQUFDO1FBRTlDLE1BQU0sSUFBSSxHQUNSLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDMUUsQ0FBQyxDQUFDLGdCQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQyxDQUFDLENBQUMsaUJBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFekMsTUFBTSxPQUFPLEdBQUcsaUJBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsZ0JBQUcsQ0FBQyxt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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVlLWNlcnRpZmljYXRlLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2VydGlmaWNhdGUvdGVlLWNlcnRpZmljYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQWlEO0FBQ2pELDJEQUF1RDtBQVd2RCxxQ0FBaUU7QUFDakUsOERBQTBEO0FBYTFELE1BQWEscUJBQXFCO0lBUWhDLFlBQVksTUFBbUM7UUFIOUIsZUFBVSxHQUFHLElBQUksc0JBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUl2RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLE9BQU8sR0FBRyxnQkFBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGVBQXVCO1FBQzdDLE1BQU0sT0FBTyxHQUFHLDZCQUE2QixDQUFDO1FBRTlDLE1BQU0sSUFBSSxHQUNSLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDMUUsQ0FBQyxDQUFDLGdCQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQyxDQUFDLENBQUMsaUJBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFekMsTUFBTSxPQUFPLEdBQUcsaUJBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsZ0JBQUcsQ0FBQyxt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 |
{ | ||
"name": "@super-protocol/tee-lib", | ||
"version": "0.2.4", | ||
"version": "0.2.5", | ||
"description": "The TEE TLB library", | ||
@@ -41,2 +41,3 @@ "tags": [ | ||
"@super-protocol/addons-tee": "^0.8.7", | ||
"@types/node-forge": "^1.3.1", | ||
"buffer": "^6.0.3", | ||
@@ -43,0 +44,0 @@ "gzip-js": "^0.3.2", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
85488
7
1123
+ Added@types/node-forge@^1.3.1
+ Added@types/node@22.9.0(transitive)
+ Added@types/node-forge@1.3.11(transitive)
+ Addedundici-types@6.19.8(transitive)