/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { AuthorityInfoAccess, AuthorityInfoAccess$inboundSchema, } from "./authorityinfoaccess.js"; import { BasicConstraints, BasicConstraints$inboundSchema, } from "./basicconstraints.js"; import { CabfOrganizationId, CabfOrganizationId$inboundSchema, } from "./cabforganizationid.js"; import { CertificatePolicy, CertificatePolicy$inboundSchema, } from "./certificatepolicy.js"; import { ExtendedKeyUsage, ExtendedKeyUsage$inboundSchema, } from "./extendedkeyusage.js"; import { GeneralNames, GeneralNames$inboundSchema } from "./generalnames.js"; import { KeyUsage, KeyUsage$inboundSchema } from "./keyusage.js"; import { NameConstraints, NameConstraints$inboundSchema, } from "./nameconstraints.js"; import { QcStatements, QcStatements$inboundSchema } from "./qcstatements.js"; import { SignedCertificateTimestamp, SignedCertificateTimestamp$inboundSchema, } from "./signedcertificatetimestamp.js"; import { TorServiceDescriptor, TorServiceDescriptor$inboundSchema, } from "./torservicedescriptor.js"; export type CertificateExtensions = { authorityInfoAccess?: AuthorityInfoAccess | undefined; /** * A key identifier, usually a digest of the DER-encoded SubjectPublicKeyInfo. */ authorityKeyId?: string | undefined; basicConstraints?: BasicConstraints | undefined; cabfOrganizationId?: CabfOrganizationId | undefined; /** * The parsed id-ce-certificatePolicies extension (OID: 2.5.29.32). */ certificatePolicies?: Array | null | undefined; /** * The parsed id-ce-cRLDistributionPoints extension (OID: 2.5.29.31). Contents are a list of distributionPoint URLs; other distributionPoint types are omitted). */ crlDistributionPoints?: Array | null | undefined; /** * Whether the certificate possesses the pre-certificate "poison" extension (OID: 1.3.6.1.4.1.11129.2.4.3). */ ctPoison?: boolean | undefined; extendedKeyUsage?: ExtendedKeyUsage | undefined; issuerAltName?: GeneralNames | undefined; keyUsage?: KeyUsage | undefined; nameConstraints?: NameConstraints | undefined; qcStatements?: QcStatements | undefined; signedCertificateTimestamps?: | Array | null | undefined; subjectAltName?: GeneralNames | undefined; /** * A key identifier, usually a digest of the DER-encoded SubjectPublicKeyInfo.. */ subjectKeyId?: string | undefined; torServiceDescriptors?: Array | null | undefined; }; /** @internal */ export const CertificateExtensions$inboundSchema: z.ZodType< CertificateExtensions, z.ZodTypeDef, unknown > = z.object({ authority_info_access: AuthorityInfoAccess$inboundSchema.optional(), authority_key_id: z.string().optional(), basic_constraints: BasicConstraints$inboundSchema.optional(), cabf_organization_id: CabfOrganizationId$inboundSchema.optional(), certificate_policies: z.nullable(z.array(CertificatePolicy$inboundSchema)) .optional(), crl_distribution_points: z.nullable(z.array(z.string())).optional(), ct_poison: z.boolean().optional(), extended_key_usage: ExtendedKeyUsage$inboundSchema.optional(), issuer_alt_name: GeneralNames$inboundSchema.optional(), key_usage: KeyUsage$inboundSchema.optional(), name_constraints: NameConstraints$inboundSchema.optional(), qc_statements: QcStatements$inboundSchema.optional(), signed_certificate_timestamps: z.nullable( z.array(SignedCertificateTimestamp$inboundSchema), ).optional(), subject_alt_name: GeneralNames$inboundSchema.optional(), subject_key_id: z.string().optional(), tor_service_descriptors: z.nullable( z.array(TorServiceDescriptor$inboundSchema), ).optional(), }).transform((v) => { return remap$(v, { "authority_info_access": "authorityInfoAccess", "authority_key_id": "authorityKeyId", "basic_constraints": "basicConstraints", "cabf_organization_id": "cabfOrganizationId", "certificate_policies": "certificatePolicies", "crl_distribution_points": "crlDistributionPoints", "ct_poison": "ctPoison", "extended_key_usage": "extendedKeyUsage", "issuer_alt_name": "issuerAltName", "key_usage": "keyUsage", "name_constraints": "nameConstraints", "qc_statements": "qcStatements", "signed_certificate_timestamps": "signedCertificateTimestamps", "subject_alt_name": "subjectAltName", "subject_key_id": "subjectKeyId", "tor_service_descriptors": "torServiceDescriptors", }); }); export function certificateExtensionsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CertificateExtensions$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CertificateExtensions' from JSON`, ); }