/* * 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 { CertificateExtensions, CertificateExtensions$inboundSchema, } from "./certificateextensions.js"; import { DistinguishedName, DistinguishedName$inboundSchema, } from "./distinguishedname.js"; import { Extension, Extension$inboundSchema } from "./extension.js"; import { Signature, Signature$inboundSchema } from "./signature.js"; import { SubjectKeyInfo, SubjectKeyInfo$inboundSchema, } from "./subjectkeyinfo.js"; import { ValidityPeriod, ValidityPeriod$inboundSchema, } from "./validityperiod.js"; export type CertificateParsed = { extensions?: CertificateExtensions | undefined; issuer?: DistinguishedName | undefined; /** * Distinguished Name of the entity that has signed and issued the certificate. */ issuerDn?: string | undefined; ja4x?: string | undefined; redacted?: boolean | undefined; /** * Issuer-specific identifier of the certificate. */ serialNumber?: string | undefined; /** * Issuer-specific identifier of the certificate, represented as hexadecimal. */ serialNumberHex?: string | undefined; signature?: Signature | undefined; subject?: DistinguishedName | undefined; /** * Distinguished Name of the entity associated with the public key. */ subjectDn?: string | undefined; subjectKeyInfo?: SubjectKeyInfo | undefined; unknownExtensions?: Array | null | undefined; validityPeriod?: ValidityPeriod | undefined; version?: number | undefined; }; /** @internal */ export const CertificateParsed$inboundSchema: z.ZodType< CertificateParsed, z.ZodTypeDef, unknown > = z.object({ extensions: CertificateExtensions$inboundSchema.optional(), issuer: DistinguishedName$inboundSchema.optional(), issuer_dn: z.string().optional(), ja4x: z.string().optional(), redacted: z.boolean().optional(), serial_number: z.string().optional(), serial_number_hex: z.string().optional(), signature: Signature$inboundSchema.optional(), subject: DistinguishedName$inboundSchema.optional(), subject_dn: z.string().optional(), subject_key_info: SubjectKeyInfo$inboundSchema.optional(), unknown_extensions: z.nullable(z.array(Extension$inboundSchema)).optional(), validity_period: ValidityPeriod$inboundSchema.optional(), version: z.number().int().optional(), }).transform((v) => { return remap$(v, { "issuer_dn": "issuerDn", "serial_number": "serialNumber", "serial_number_hex": "serialNumberHex", "subject_dn": "subjectDn", "subject_key_info": "subjectKeyInfo", "unknown_extensions": "unknownExtensions", "validity_period": "validityPeriod", }); }); export function certificateParsedFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CertificateParsed$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CertificateParsed' from JSON`, ); }