Initial Commit
This commit is contained in:
119
packages/security-stack/security/tpm-struct/src/index.ts
Normal file
119
packages/security-stack/security/tpm-struct/src/index.ts
Normal file
@@ -0,0 +1,119 @@
|
||||
// Public surface — explicit named re-exports per openspec/AGENTS.md §6a.
|
||||
|
||||
// Algorithm registries
|
||||
export {
|
||||
algIdToName,
|
||||
eccCurveToName,
|
||||
nameToAlgId,
|
||||
nameToEccCurve,
|
||||
TPM_ALG,
|
||||
TPM_ECC_CURVE,
|
||||
type TpmAlgId,
|
||||
type TpmEccCurve,
|
||||
} from "./alg/alg.js";
|
||||
// Attest area
|
||||
export { parseTpmsAttest } from "./attest/attest.js";
|
||||
export {
|
||||
type ClockInfo,
|
||||
TPM_GENERATED_VALUE,
|
||||
TPM_ST_ATTEST,
|
||||
type TpmsAttest,
|
||||
type TpmsAttestCertify,
|
||||
type TpmsAttestCommandAudit,
|
||||
type TpmsAttestCreation,
|
||||
type TpmsAttestNv,
|
||||
type TpmsAttestNvDigest,
|
||||
type TpmsAttestQuote,
|
||||
type TpmsAttestSessionAudit,
|
||||
type TpmsAttestTime,
|
||||
type TpmsCertifyInfo,
|
||||
type TpmsCommandAuditInfo,
|
||||
type TpmsCreationInfo,
|
||||
type TpmsNvCertifyInfo,
|
||||
type TpmsNvDigestCertifyInfo,
|
||||
type TpmsPcrSelection,
|
||||
type TpmsQuoteInfo,
|
||||
type TpmsSessionAuditInfo,
|
||||
type TpmsTimeAttestInfo,
|
||||
type TpmsTimeInfo,
|
||||
} from "./attest/attest.types.js";
|
||||
export { serializeTpmsAttest } from "./attest/serialize.js";
|
||||
// Buffer primitives
|
||||
export { TpmBufferReader, TpmBufferWriter } from "./buffer/buffer.js";
|
||||
export type {
|
||||
Tpm2bReadResult,
|
||||
TpmReaderOptions,
|
||||
TpmWriterOptions,
|
||||
} from "./buffer/buffer.types.js";
|
||||
// Diagnostic
|
||||
export { toDiagnostic } from "./diagnostic/diagnostic.js";
|
||||
// Errors
|
||||
export {
|
||||
TPM_STRUCT_CODES,
|
||||
TpmStructError,
|
||||
type TpmStructErrorCode,
|
||||
tpmStructError,
|
||||
} from "./errors/error-codes.js";
|
||||
// Extra-data
|
||||
export { extraDataMatches } from "./extra-data/extra-data.js";
|
||||
export type { ConstantTimeEqual } from "./extra-data/extra-data.types.js";
|
||||
// Name digest
|
||||
export { computeTpmtPublicName } from "./name/name.js";
|
||||
export type { HashLike } from "./name/name.types.js";
|
||||
// Observability
|
||||
export {
|
||||
type ParseKind,
|
||||
type ParseOutcome,
|
||||
type PublicBranch,
|
||||
recordAlgObserved,
|
||||
recordAttestDuration,
|
||||
recordNameDuration,
|
||||
recordParseDuration,
|
||||
recordParseError,
|
||||
recordParseTotal,
|
||||
recordPublicDuration,
|
||||
resetTpmStructMetricsForTesting,
|
||||
} from "./observability/metrics.js";
|
||||
// Public area
|
||||
export {
|
||||
decodeObjectAttributes,
|
||||
encodeObjectAttributes,
|
||||
} from "./public/object-attributes.js";
|
||||
export { parseTpmtPublic } from "./public/public.js";
|
||||
export type {
|
||||
ObjectAttributes,
|
||||
ObjectAttributesFlags,
|
||||
TpmRsaUnique,
|
||||
TpmsEccParms,
|
||||
TpmsEccPoint,
|
||||
TpmsKeyedHashParms,
|
||||
TpmsRsaParms,
|
||||
TpmsSymCipherParms,
|
||||
TpmtEccScheme,
|
||||
TpmtKdfScheme,
|
||||
TpmtPublic,
|
||||
TpmtPublicEcc,
|
||||
TpmtPublicKeyedHash,
|
||||
TpmtPublicRsa,
|
||||
TpmtPublicSymCipher,
|
||||
TpmtRsaScheme,
|
||||
TpmtSymDefObject,
|
||||
} from "./public/public.types.js";
|
||||
export { serializeTpmtPublic } from "./public/serialize.js";
|
||||
// Boundary schemas
|
||||
export {
|
||||
ClockInfoSchema,
|
||||
ObjectAttributesSchema,
|
||||
Tpm2bSchema,
|
||||
TpmAlgIdSchema,
|
||||
TpmEccCurveSchema,
|
||||
TpmsAttestSchema,
|
||||
TpmsCertifyInfoSchema,
|
||||
TpmsEccParmsSchema,
|
||||
TpmsKeyedHashParmsSchema,
|
||||
TpmsRsaParmsSchema,
|
||||
TpmsSymCipherParmsSchema,
|
||||
TpmtPublicSchema,
|
||||
validateTpmsAttest,
|
||||
validateTpmtPublic,
|
||||
} from "./schemas/schemas.js";
|
||||
Reference in New Issue
Block a user