@super-protocol/tee-lib
Advanced tools
Comparing version 0.1.3 to 0.2.0
export * from './tlb'; | ||
export * from './certificate'; | ||
export * from './tee-device'; |
@@ -18,2 +18,4 @@ "use strict"; | ||
__exportStar(require("./tlb"), exports); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQiJ9 | ||
__exportStar(require("./certificate"), exports); | ||
__exportStar(require("./tee-device"), exports); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0QixnREFBOEI7QUFDOUIsK0NBQTZCIn0= |
@@ -23,3 +23,3 @@ import { TeeDataType, BinaryType, TLBlockUnserializeResultType, TLBlockSerializeResultType, TLBlockType, TeeSgxQuoteDataType, TeeSgxReportDataType } from './types'; | ||
*/ | ||
serializeAnyData(anyData: any): BinaryType | Promise<BinaryType>; | ||
serializeAnyData(anyData: any): BinaryType; | ||
} | ||
@@ -26,0 +26,0 @@ export interface TeeSgxParser { |
@@ -19,5 +19,9 @@ import { TeeSgxParser } from './interfaces'; | ||
static readonly reportDataOffset: number; | ||
static readonly reportDataSize = 32; | ||
static readonly reportUserDataSize = 64; | ||
static readonly reportUserDataSHA256Size = 32; | ||
static readonly ecdsaP256SignatureSize = 64; | ||
static readonly ecdsaP256PublicKeySize = 64; | ||
private getDataAndAdvance; | ||
parseQuote(data: BinaryType): TeeSgxQuoteDataType; | ||
parseReport(data: BinaryType): TeeSgxReportDataType; | ||
} |
@@ -12,11 +12,17 @@ "use strict"; | ||
class TeeSgxParserV3 { | ||
getDataAndAdvance(blob, size) { | ||
const buf = buffer_1.Buffer.from(blob.data.subarray(0, size)); | ||
blob.data = buffer_1.Buffer.from(blob.data.subarray(size)); | ||
return buf; | ||
} | ||
parseQuote(data) { | ||
const { quoteHeaderSize, reportSize, userDataOffset, userDataSize } = TeeSgxParserV3; | ||
const { quoteHeaderSize, reportSize, userDataOffset, userDataSize, ecdsaP256SignatureSize, ecdsaP256PublicKeySize, } = TeeSgxParserV3; | ||
if (data.length < quoteHeaderSize + reportSize) { | ||
throw new errors_1.TeeSgxParserError('data has invalid length'); | ||
} | ||
const quoteHeader = buffer_1.Buffer.from(data.slice(0, quoteHeaderSize)); | ||
const report = buffer_1.Buffer.from(data.slice(quoteHeaderSize, quoteHeaderSize + reportSize)); | ||
const quoteRemainder = { data: buffer_1.Buffer.from(data) }; | ||
const quoteHeader = this.getDataAndAdvance(quoteRemainder, quoteHeaderSize); | ||
const report = this.getDataAndAdvance(quoteRemainder, reportSize); | ||
const version = quoteHeader.readUInt16LE(0); | ||
if (version < 2 || version > 3) { | ||
if (version != 3) { | ||
throw new errors_1.TeeSgxParserError('quote header has invalid or unsupported version'); | ||
@@ -29,3 +35,31 @@ } | ||
const userData = quoteHeader.slice(userDataOffset, userDataOffset + userDataSize); | ||
const quoteSignatureDateLen = quoteRemainder.data.readUInt32LE(0); | ||
quoteRemainder.data = buffer_1.Buffer.from(quoteRemainder.data.subarray(4)); | ||
if (quoteSignatureDateLen != quoteRemainder.data.length) { | ||
throw new errors_1.TeeSgxParserError(`quoteSignatureDateLen has invalid length: ${quoteRemainder.data.length} instead of ${quoteSignatureDateLen} expected`); | ||
} | ||
const rawQuoteSignatureDataRemainder = { | ||
data: this.getDataAndAdvance(quoteRemainder, quoteSignatureDateLen), | ||
}; | ||
const isvEnclaveReportSignature = this.getDataAndAdvance(rawQuoteSignatureDataRemainder, ecdsaP256SignatureSize); | ||
const ecdsaAttestationKey = this.getDataAndAdvance(rawQuoteSignatureDataRemainder, ecdsaP256PublicKeySize); | ||
const qeReport = this.getDataAndAdvance(rawQuoteSignatureDataRemainder, reportSize); | ||
const qeReportSignature = this.getDataAndAdvance(rawQuoteSignatureDataRemainder, ecdsaP256SignatureSize); | ||
const qeAuthenticationDataSize = rawQuoteSignatureDataRemainder.data.readUInt16LE(0); | ||
rawQuoteSignatureDataRemainder.data = buffer_1.Buffer.from(rawQuoteSignatureDataRemainder.data.subarray(2)); | ||
if (rawQuoteSignatureDataRemainder.data.length < qeAuthenticationDataSize) { | ||
throw new errors_1.TeeSgxParserError(`qeAuthenticationDataSize has invalid length: ${rawQuoteSignatureDataRemainder.data.length} instead of ${qeAuthenticationDataSize} expected`); | ||
} | ||
const qeAuthenticationData = this.getDataAndAdvance(rawQuoteSignatureDataRemainder, qeAuthenticationDataSize); | ||
const qeCertificationDataType = rawQuoteSignatureDataRemainder.data.readUInt16LE(0); | ||
if (qeCertificationDataType < 1 || qeCertificationDataType > 7) { | ||
throw new errors_1.TeeSgxParserError(`certificationDataType has invalid value: ${qeCertificationDataType}`); | ||
} | ||
const certificationDataSize = rawQuoteSignatureDataRemainder.data.readUInt32LE(2); | ||
const qeCertificationData = rawQuoteSignatureDataRemainder.data.subarray(2 + 4); | ||
if (certificationDataSize != qeCertificationData.length) { | ||
throw new errors_1.TeeSgxParserError(`certificationDataSize has invalid length: $PqeCertificationData.length} instead of ${certificationDataSize} expected`); | ||
} | ||
return { | ||
rawHeader: quoteHeader, | ||
header: { | ||
@@ -37,6 +71,13 @@ version, | ||
report, | ||
isvEnclaveReportSignature, | ||
ecdsaAttestationKey, | ||
qeReport, | ||
qeReportSignature, | ||
qeAuthenticationData, | ||
qeCertificationDataType, | ||
qeCertificationData, | ||
}; | ||
} | ||
parseReport(data) { | ||
const { reportSize, cpuSvnSize, reportMrEnclaveOffset, reportMrEnclaveSize, reportMrSignerOffset, reportMrSignerSize, reportDataOffset, reportDataSize, } = TeeSgxParserV3; | ||
const { reportSize, cpuSvnSize, reportMrEnclaveOffset, reportMrEnclaveSize, reportMrSignerOffset, reportMrSignerSize, reportDataOffset, reportUserDataSize, reportUserDataSHA256Size, } = TeeSgxParserV3; | ||
if (data.length < reportSize) { | ||
@@ -49,3 +90,4 @@ throw new errors_1.TeeSgxParserError('data has invalid length'); | ||
const mrSigner = report.slice(reportMrSignerOffset, reportMrSignerOffset + reportMrSignerSize); | ||
const dataHash = report.slice(reportDataOffset, reportDataOffset + reportDataSize); | ||
const userData = report.slice(reportDataOffset, reportDataOffset + reportUserDataSize); | ||
const dataHash = report.slice(reportDataOffset, reportDataOffset + reportUserDataSHA256Size); | ||
return { | ||
@@ -55,2 +97,3 @@ cpuSvn, | ||
mrSigner, | ||
userData, | ||
dataHash, | ||
@@ -76,3 +119,6 @@ }; | ||
/* reserved */ 60; | ||
TeeSgxParserV3.reportDataSize = 32; /* 64 in report, but we need 32 only for sha256 hash */ | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVlLXNneC1wYXJzZXJ2My5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90bGIvdGVlLXNneC1wYXJzZXJ2My50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvQ0FBeUM7QUFDekMscUNBQTZDO0FBSTdDOzs7O0dBSUc7QUFDSCxNQUFhLGNBQWM7SUFvQnpCLFVBQVUsQ0FBQyxJQUFnQjtRQUN6QixNQUFNLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLEdBQUcsY0FBYyxDQUFDO1FBRXJGLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxlQUFlLEdBQUcsVUFBVSxFQUFFO1lBQzlDLE1BQU0sSUFBSSwwQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsTUFBTSxXQUFXLEdBQUcsZUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sTUFBTSxHQUFHLGVBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsZUFBZSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFcEYsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1QyxJQUFJLE9BQU8sR0FBRyxDQUFDLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRTtZQUM5QixNQUFNLElBQUksMEJBQWlCLENBQUMsaURBQWlELENBQUMsQ0FBQztTQUNoRjtRQUVELE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2RCxJQUFJLGtCQUFrQixHQUFHLENBQUMsRUFBRTtZQUMxQixNQUFNLElBQUksMEJBQWlCLENBQUMsOERBQThELENBQUMsQ0FBQztTQUM3RjtRQUVELE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLGNBQWMsR0FBRyxZQUFZLENBQUMsQ0FBQztRQUVsRixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLE9BQU87Z0JBQ1Asa0JBQWtCO2dCQUNsQixRQUFRO2FBQ1Q7WUFDRCxNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBZ0I7UUFDMUIsTUFBTSxFQUNKLFVBQVUsRUFDVixVQUFVLEVBQ1YscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixjQUFjLEdBQ2YsR0FBRyxjQUFjLENBQUM7UUFFbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsRUFBRTtZQUM1QixNQUFNLElBQUksMEJBQWlCLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUN4RDtRQUVELE1BQU0sTUFBTSxHQUFHLGVBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQzVCLHFCQUFxQixFQUNyQixxQkFBcUIsR0FBRyxtQkFBbUIsQ0FDNUMsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztRQUMvRixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyxDQUFDO1FBRW5GLE9BQU87WUFDTCxNQUFNO1lBQ04sU0FBUztZQUNULFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQztJQUNKLENBQUM7O0FBckZILHdDQXNGQztBQXJGaUIsOEJBQWUsR0FBRyxFQUFFLENBQUM7QUFDckIseUJBQVUsR0FBRyxHQUFHLENBQUM7QUFDakIsNkJBQWMsR0FBRyxFQUFFLENBQUM7QUFDcEIsMkJBQVksR0FBRyxFQUFFLENBQUM7QUFDbEIseUJBQVUsR0FBRyxFQUFFLENBQUM7QUFDaEIsb0NBQXFCLEdBQUcsRUFBRSxDQUFDO0FBQzNCLGtDQUFtQixHQUFHLEVBQUUsQ0FBQztBQUN6QixtQ0FBb0IsR0FDbEMsY0FBYyxDQUFDLHFCQUFxQixHQUFHLGNBQWMsQ0FBQyxtQkFBbUIsR0FBRyxjQUFjLENBQUMsRUFBRSxDQUFDO0FBQ2hGLGlDQUFrQixHQUFHLEVBQUUsQ0FBQztBQUN4QiwrQkFBZ0IsR0FDOUIsY0FBYyxDQUFDLG9CQUFvQjtJQUNuQyxjQUFjLENBQUMsa0JBQWtCO0lBQ2pDLGNBQWMsQ0FBQyxFQUFFO0lBQ2pCLGVBQWUsQ0FBQyxDQUFDO0lBQ2pCLFlBQVksQ0FBQyxDQUFDO0lBQ2QsY0FBYyxDQUFDLEVBQUUsQ0FBQztBQUNKLDZCQUFjLEdBQUcsRUFBRSxDQUFDLENBQUMsdURBQXVEIn0= | ||
TeeSgxParserV3.reportUserDataSize = 64; | ||
TeeSgxParserV3.reportUserDataSHA256Size = 32; /* 64 in report, but we need 32 only for sha256 hash */ | ||
TeeSgxParserV3.ecdsaP256SignatureSize = 64; | ||
TeeSgxParserV3.ecdsaP256PublicKeySize = 64; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVlLXNneC1wYXJzZXJ2My5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90bGIvdGVlLXNneC1wYXJzZXJ2My50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvQ0FBeUM7QUFDekMscUNBQTZDO0FBSTdDOzs7O0dBSUc7QUFDSCxNQUFhLGNBQWM7SUF1QmpCLGlCQUFpQixDQUFDLElBQW9CLEVBQUUsSUFBWTtRQUMxRCxNQUFNLEdBQUcsR0FBRyxlQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRWhELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFnQjtRQUN6QixNQUFNLEVBQ0osZUFBZSxFQUNmLFVBQVUsRUFDVixjQUFjLEVBQ2QsWUFBWSxFQUNaLHNCQUFzQixFQUN0QixzQkFBc0IsR0FDdkIsR0FBRyxjQUFjLENBQUM7UUFFbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsR0FBRyxVQUFVLEVBQUU7WUFDOUMsTUFBTSxJQUFJLDBCQUFpQixDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDeEQ7UUFDRCxNQUFNLGNBQWMsR0FBRyxFQUFFLElBQUksRUFBRSxlQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUM1RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWxFLE1BQU0sT0FBTyxHQUFH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 |
@@ -7,3 +7,3 @@ import { BinaryType, TeeDataType as TLBlockDataType, TLBlockUnserializeResultType, TLBlockSerializeResultType, TLBlockType, TeeDataType } from './types'; | ||
serializeMetadata(tlbMetadata: TeeDataType): BinaryType | Promise<BinaryType>; | ||
serializeAnyData(data: any): BinaryType | Promise<BinaryType>; | ||
serializeAnyData(data: any): BinaryType; | ||
} |
@@ -36,2 +36,3 @@ /// <reference types="node" /> | ||
export declare type TeeSgxQuoteDataType = { | ||
rawHeader: BinaryType; | ||
header: { | ||
@@ -43,2 +44,9 @@ version: number; | ||
report: BinaryType; | ||
isvEnclaveReportSignature: BinaryType; | ||
ecdsaAttestationKey: BinaryType; | ||
qeReport: BinaryType; | ||
qeReportSignature: BinaryType; | ||
qeAuthenticationData: BinaryType; | ||
qeCertificationDataType: number; | ||
qeCertificationData: BinaryType; | ||
}; | ||
@@ -49,3 +57,4 @@ export declare type TeeSgxReportDataType = { | ||
mrSigner: BinaryType; | ||
userData: BinaryType; | ||
dataHash: BinaryType; | ||
}; |
{ | ||
"name": "@super-protocol/tee-lib", | ||
"version": "0.1.3", | ||
"version": "0.2.0", | ||
"description": "The TEE TLB library", | ||
@@ -40,11 +40,17 @@ "tags": [ | ||
"@msgpack/msgpack": "^2.7.1", | ||
"@super-protocol/addons-tee": "^0.8.6", | ||
"buffer": "^6.0.3", | ||
"gzip-js": "^0.3.2" | ||
"gzip-js": "^0.3.2", | ||
"node-forge": "^1.3.1", | ||
"p-queue": "^6.6.2" | ||
}, | ||
"devDependencies": { | ||
"@types/elliptic": "^6.4.14", | ||
"@types/gzip-js": "^0.3.3", | ||
"@types/jest": "^27.0.3", | ||
"@types/node": "^17.0.0", | ||
"@types/node-forge": "^1.0.2", | ||
"@typescript-eslint/eslint-plugin": "^5.8.0", | ||
"@typescript-eslint/parser": "^5.8.0", | ||
"elliptic": "^6.5.4", | ||
"eslint": "^8.5.0", | ||
@@ -54,4 +60,4 @@ "eslint-config-prettier": "^8.3.0", | ||
"jest": "^27.4.5", | ||
"prettier": "^2.5.1", | ||
"ts-jest": "^27.1.2", | ||
"prettier": "^2.5.1", | ||
"typescript": "^4.5.4" | ||
@@ -58,0 +64,0 @@ }, |
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
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
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
80046
44
1040
6
15
1
1
+ Addednode-forge@^1.3.1
+ Addedp-queue@^6.6.2
+ Added@fidm/asn1@1.0.4(transitive)
+ Added@fidm/x509@1.2.1(transitive)
+ Added@super-protocol/addons-tee@0.8.14(transitive)
+ Addedasn1-tree@0.1.1(transitive)
+ Addedaxios@0.24.0(transitive)
+ Addedeventemitter3@4.0.7(transitive)
+ Addedfollow-redirects@1.15.9(transitive)
+ Addednode-forge@1.3.1(transitive)
+ Addedp-finally@1.0.0(transitive)
+ Addedp-queue@6.6.2(transitive)
+ Addedp-timeout@3.2.0(transitive)
+ Addedtweetnacl@1.0.3(transitive)