CVC-CREATE(1)

๐ŸŒธ cvc-create(1) โ€” like, the manual page, but make it make sense ๐Ÿ’…

okay so first things first: this is cvc-create, it lives in the User Commands part of the manual (section 1, bestie, the one for user commands), and it's part of OpenPACE 1.1.4. we're gonna get into all of it, no cap.


โœจ NAME โœจ

cvc-create โ€” the manual page for cvc-create 1.1.4 ๐ŸŽ€


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

cvc-create [OPTION]...

that's it. that's the whole vibe check. options go in, certificate comes out. iconic.


๐Ÿ’– DESCRIPTION ๐Ÿ’–

Create a card verifiable certificate โœจ

like, literally that's the job. you feed it options, it hands you a CVC. main character energy fr fr.


๐Ÿ‘‘ OPTIONS ๐Ÿ‘‘

the basic stuff ๐Ÿผ

  • -h, --help โ€” prints the help text and then dips out. bye bestie ๐Ÿ‘‹
  • -V, --version โ€” prints the version and exits. short and sweet, we love her.

the actual cert-making options ๐Ÿงš

  • --out-cert=FILENAME โ€” where to save the certificate. default is CHR.cvcert ๐ŸŽ€
  • --role=ENUM โ€” the terminal's role. possible values are "cvca", "dv_domestic", "dv_foreign", "terminal" โ€” pick your fighter ๐Ÿ’…
  • --type=STRING โ€” type of the terminal. known values are "at" (Authentication Terminal), "is" (Inspection System), "st" (Signature Terminal), and "derived_from_signer" (uses the the signer's CVC type). any other value is interpreted as an object identifier. default is derived_from_signer ๐Ÿฆ‹
  • --chat=HEXSTRING โ€” Raw Card Holder Authorization Template (CHAT). careful bestie, this option will overwrite any terminal specific effective authorization (see options for AT/IS/ST). so like, it eats the other ones ๐Ÿซถ
  • --issued=YYMMDD โ€” date the certificate was issued. default is today ๐ŸŒธ
  • --expires=YYMMDD โ€” date until the certicate is valid โณ
  • --sign-with=FILENAME โ€” private key for signing the new certificate ๐Ÿ”‘
  • --scheme=ENUM โ€” signature scheme that the new terminal will use. possible values are "ECDSA_SHA_1", "ECDSA_SHA_224", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "RSA_v1_5_SHA_1", "RSA_v1_5_SHA_256", "RSA_v1_5_SHA_512", "RSA_PSS_SHA_1", "RSA_PSS_SHA_256", "RSA_PSS_SHA_512". yes that's twelve of them, we listed all twelve, you're welcome ๐Ÿ’œ

then it says:

Mode: csr โ€” the properties of the certificate are derived from the given signing request.
  • --csr=FILENAME โ€” certificate signing request with the attributes.

and then:

Mode: manual โ€” the properties of the certificate are derived from the command line switches.
  • --chr=CCH...HSSSSS โ€” certificate holder reference. and it's built like this: 2 characters ISO 3166-1 ALPHA-2 country code, then 0-9 characters ISO/IEC 8859-1 holder mnemonic, then 5 characters ISO/IEC 8859-1 numeric or alphanumeric sequence number. ๐Ÿงฉ
  • --sign-as=FILENAME โ€” CV certificate of the entity signing the new certificate. default is self signed ๐Ÿ’ซ
  • --key=FILENAME โ€” private key of the Terminal. default is derived from signer ๐Ÿ”
  • --out-key=FILENAME โ€” where to save the derived private key. default is CHR.pkcs8 ๐ŸŽ

๐Ÿ”ฅ Options for an Authentication Terminal (AT) ๐Ÿ”ฅ

  • --out-desc=FILENAME โ€” where to save the encoded certificate description. default is CHR.desc ๐Ÿ“„
  • --cert-desc=FILENAME โ€” terms of usage as part of the certificate description (*.txt, *.html or *.pdf) ๐Ÿ“
  • --issuer-name=STRING โ€” name of the issuer of this certificate (certificate description) ๐Ÿ›๏ธ
  • --issuer-url=URL โ€” URL that points to informations about the issuer of this certificate (certificate description) ๐ŸŒ
  • --subject-name=STRING โ€” name of the holder of this certificate (certificate description) ๐Ÿ™‹
  • --subject-url=URL โ€” URL that points to informations about the subject of this certificate (certificate description) ๐Ÿ”—
  • --write-dg17 โ€” allow writing DG 17 (Normal Place of Residence). default is off
  • --write-dg18 โ€” allow writing DG 18 (Community ID). default is off
  • --write-dg19 โ€” allow writing DG 19 (Residence Permit I). default is off
  • --write-dg20 โ€” allow writing DG 20 (Residence Permit II). default is off
  • --write-dg21 โ€” allow writing DG 21 (Optional Data). default is off
  • --at-rfu32 โ€” allow RFU R/W Access bit 32. default is off
  • --at-rfu31 โ€” allow RFU R/W Access bit 31. default is off
  • --at-rfu30 โ€” allow RFU R/W Access bit 30. default is off
  • --at-rfu29 โ€” allow RFU R/W Access bit 29. default is off
  • --read-dg1 โ€” allow reading DG 1 (Document Type). default is off
  • --read-dg2 โ€” allow reading DG 2 (Issuing State). default is off
  • --read-dg3 โ€” allow reading DG 3 (Date of Expiry). default is off
  • --read-dg4 โ€” allow reading DG 4 (Given Names). default is off
  • --read-dg5 โ€” allow reading DG 5 (Family Names). default is off
  • --read-dg6 โ€” allow reading DG 6 (Religious/Artistic Name). default is off
  • --read-dg7 โ€” allow reading DG 7 (Academic Title). default is off
  • --read-dg8 โ€” allow reading DG 8 (Date of Birth). default is off
  • --read-dg9 โ€” allow reading DG 9 (Place of Birth). default is off
  • --read-dg10 โ€” allow reading DG 10 (Nationality). default is off
  • --read-dg11 โ€” allow reading DG 11 (Sex). default is off
  • --read-dg12 โ€” allow reading DG 12 (Optional Data). default is off
  • --read-dg13 โ€” allow reading DG 13. default is off
  • --read-dg14 โ€” allow reading DG 14. default is off
  • --read-dg15 โ€” allow reading DG 15. default is off
  • --read-dg16 โ€” allow reading DG 16. default is off
  • --read-dg17 โ€” allow reading DG 17 (Normal Place of Residence). default is off
  • --read-dg18 โ€” allow reading DG 18 (Community ID). default is off
  • --read-dg19 โ€” allow reading DG 19 (Residence Permit I). default is off
  • --read-dg20 โ€” allow reading DG 20 (Residence Permit II). default is off
  • --read-dg21 โ€” allow reading DG 21 (Optional Data). default is off
  • --install-qual-cert โ€” allow installing qualified certificate. default is off
  • --install-cert โ€” allow installing certificate. default is off
  • --pin-management โ€” allow PIN management. default is off
  • --can-allowed โ€” CAN allowed. default is off
  • --privileged โ€” privileged terminal. default is off
  • --rid โ€” allow restricted identification. default is off
  • --verify-community โ€” allow community ID verification. default is off
  • --verify-age โ€” allow age verification. default is off

that's a lot of toggles, and every single one of them is off by default, so don't come for me ๐Ÿซถ


๐ŸŽ€ Options for a Signature Terminal (ST) ๐ŸŽ€

  • --st-rfu5 โ€” allow RFU bit 5. default is off
  • --st-rfu4 โ€” allow RFU bit 4. default is off
  • --st-rfu3 โ€” allow RFU bit 3. default is off
  • --st-rfu2 โ€” allow RFU bit 2. default is off
  • --gen-qualified-sig โ€” generate qualified electronic signature. default is off โœ๏ธ
  • --gen-sig โ€” generate electronic signature. default is off โœ’๏ธ

๐ŸŒˆ Options for an Inspection System (IS) ๐ŸŒˆ

  • --read-eid โ€” read access to eID application (Deprecated). default is off ๐Ÿ’€
  • --is-rfu4 โ€” allow RFU bit 4. default is off
  • --is-rfu3 โ€” allow RFU bit 3. default is off
  • --is-rfu2 โ€” allow RFU bit 2. default is off
  • --read-iris โ€” read access to ePassport application: DG 4 (Iris). default is off ๐Ÿ‘๏ธ
  • --read-finger โ€” read access to ePassport application: DG 3 (Fingerprint). default is off ๐Ÿซ†
โš ๏ธ heads up bestie: --read-eid is marked Deprecated. it's still listed here, but likeโ€ฆ the manpage said it, not me ๐Ÿ’…

๐Ÿซถ AUTHOR ๐Ÿซถ

Written by Frank Morgner <frankmorgner@gmail.com> โ€” king behavior, honestly ๐Ÿ‘‘


๐Ÿ› REPORTING BUGS ๐Ÿ›

Report bugs to https://github.com/frankmorgner/openpace/issues โ€” go tell them, they actually want to know, fr fr ๐Ÿ“ฎ


that's the whole page!! every flag, every default, every "default is off", all accounted for, nothing skipped, periodt โœจ

<div align="center">

๐Ÿ’– OpenPACE 1.1.4 โ€” June 2026 ๐Ÿ’–

</div>

mwah, go make some certificates bestie ๐ŸŽ€๐Ÿฆ‹๐Ÿ’œ

๐Ÿ“ฆ where this page comes from
  • arch rolling: openpace 1.1.4-2 ยท GPL-3.0-or-later AND GPL-3.0-linking-exception
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms