code wiki / (root) / nx_x509_csr_emit.nx

nx_x509_csr_emit.nx

buildroot/runtime/nx_x509_csr_emit.nx

11142 B302 linesdepth 9pulls 14 transitivereach 0 importersview sourcekind orphan librarytopic x509
docsdependenciesstructsconstsfunctions

about

nx_x509_csr_emit.nx -- PKCS#10 CSR emitter for Ed25519 (RFC 2986 + RFC 8410). Closes the CSR-emit gap for ACME finalize step. Composes: nx_asn1_emit.nx -- DER encoder helpers nx_ed25519_signature.nx -- ed25519_sign_full over TBS bytes PKCS#10 CertificationRequest structure (RFC 2986 §4.2): CertificationRequest ::= SEQUENCE { certificationRequestInfo CertificationRequestInfo, signatureAlgorithm AlgorithmIdentifier, signature BIT STRING } CertificationRequestInfo ::= SEQUENCE { version INTEGER (0 for PKCS#10 v1.0), subject Name, subjectPKInfo SubjectPublicKeyInfo, attributes [0] IMPLICIT Attributes } SubjectPublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING } Per RFC 8410 §4, Ed25519 SubjectPublicKeyInfo has: - algorithm.algorithm = id-Ed25519 (1.3.101.112) - algorithm.parameters absent (no NULL placeholder) - subjectPublicKey = 32-byte raw public key And RFC 8410 §6: the signatureAlgorithm in the outer CSR is identical (id-Ed25519, no parameters). Per cardinal feedback-no-third-party-trust-native-or-nothing: substrate's own CSR emitter; no openssl req, no certbot-builtin. nx_capability_claims: needs: [asn1_der_encode, ed25519_sign] provides: [pkcs10_csr_eddsa_emit, subject_pubkey_info_ed25519]

dependencies 3 imports · 0 importers

nx_syscalls_x86_64.nx nx_asn1_emit.nx nx_ed25519_signature.nx nx_x509_csr_emit.nx

imports: nx_syscalls_x86_64.nxnx_asn1_emit.nxnx_ed25519_signature.nx

imported by: nobody (leaf or entry point)

structs

none

consts

53const NXCSR_OK: i64 = 0
54const NXCSR_OOM_BUFFER: i64 = 1
55const NXCSR_BAD_KEY_LEN: i64 = 2
56const NXCSR_BAD_SUBJECT: i64 = 3
57const NXCSR_SIGN_ERR: i64 = 4
58const NXCSR_BAD_ARG: i64 = 5
59const NXCSR_VERDICT_N: i64 = 6

functions

61func nxcsr_verdict_is_valid(v: i64) -> i64
67func nxcsr_verdict_name(v: i64) -> *u8
85func nx_csr_oid_ed25519(out: *u8) -> i64
92func nx_csr_oid_common_name(out: *u8) -> i64
110func nx_csr_emit_subject_pubkey_info(
159func nx_csr_emit_subject_cn(
221func nx_x509_csr_emit_ed25519(