OPENSSL-CRL(1ossl)

πŸ“¦ version 3.5.0, in opensuse-leap 16.0

πŸ’… OPENSSL-CRL πŸ’…

okay bestie, welcome to the openssl-crl page β€” this is the CRL command from the 1ossl manual, and we're gonna get you fluent in it, no cap ✨


✨ SYNOPSIS ✨

openssl crl [-help] [-inform DER|PEM] [-outform DER|PEM] [-key filename]
[-keyform DER|PEM|P12] [-dateopt] [-text] [-in filename] [-out filename]
[-gendelta filename] [-badsig] [-verify] [-noout] [-hash] [-hash_old]
[-fingerprint] [-crlnumber] [-issuer] [-lastupdate] [-nextupdate]
[-nameopt option] [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath]
[-CAstore uri] [-no-CAstore] [-provider name] [-provider-path path]
[-provparam [name:]key=value] [-propquery propq]

bestie it's a LOT of brackets but I promise it's fine, just vibes and flags 🫢


🌸 DESCRIPTION 🌸

So like. This command processes CRL files in DER or PEM format. That's the whole personality. She reads CRLs, she writes CRLs, she slays πŸ’…


πŸŽ€ OPTIONS πŸŽ€

  • -help β€” prints out a usage message. the classic "help me help you" moment ✨
  • -inform DER|PEM β€” the CRL input format. unspecified by default. go check openssl-format-options(1) for the deets πŸ’–
  • -outform DER|PEM β€” the CRL output format, and the default is PEM. again, openssl-format-options(1) has the lore 🌸
  • -key filename β€” the private key to be used to sign the CRL πŸ”‘
  • -keyform DER|PEM|P12 β€” the format of the private key file. unspecified by default. yes, openssl-format-options(1) again, she's everywhere πŸ¦‹
  • -in filename β€” picks the input filename to read from, or standard input if you don't specify this option. lowkey the default is just "read the void" 😭
  • -out filename β€” the output filename to write to, or standard output by default πŸ’œ
  • -gendelta filename β€” outputs a comparison of the main CRL and the one you specify here. side-by-side moment πŸ‘‘
  • -badsig β€” corrupts the signature before writing it! this can be useful for testing. it's giving chaotic evil but make it QA πŸ’€
  • -dateopt β€” specifies the date output format. values are: rfc_822 and iso_8601. defaults to rfc_822 πŸ—“οΈ
  • -text β€” prints out the CRL in text form. readable, iconic, we love her πŸ“–
  • -verify β€” verifies the signature in the CRL. if the verification fails, the program will immediately exit, i.e. further option processing (e.g. -gendelta) is skipped. so yeah, it jets the second things go wrong, main character energy fr fr πŸƒβ€β™€οΈπŸ’¨

this option is implicitly enabled if any of -CApath, -CAfile or -CAstore is specified πŸ‘€

  • -noout β€” don't output the encoded version of the CRL. sometimes less is more, we respect it πŸ™ˆ
  • -fingerprint β€” outputs the fingerprint of the CRL πŸ«†βœ¨
  • -crlnumber β€” outputs the number of the CRL πŸ”’
  • -hash β€” outputs a hash of the issuer name. this can be use to lookup CRLs in a directory by issuer name. (yes the original says "can be use", I'm not fixing her, she's perfect as she is πŸ’…)
  • -hash_old β€” outputs the "hash" of the CRL issuer name using the older algorithm as used by OpenSSL before version 1.0.0. vintage era, we stan the archive πŸŽ€
  • -issuer β€” outputs the issuer name πŸͺͺ
  • -lastupdate β€” outputs the lastUpdate field ⏰
  • -nextupdate β€” outputs the nextUpdate field ⏭️
  • -nameopt option β€” specifies how the subject or issuer names are displayed. openssl-namedisplay-options(1) for the full tea 🌈
  • -CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore β€” see "Trusted Certificate Options" in openssl-verification-options(1) for details. trust falls but with certificates 🫢
  • -provider name, -provider-path path, -provparam [name:]key=value, -propquery propq β€” see "Provider Options" in openssl(1), provider(7), and property(7). the whole plugin ecosystem, go off πŸ‘‘

πŸ¦‹ EXAMPLES πŸ¦‹

convert a CRL file from PEM to DER:

openssl crl -in crl.pem -outform DER -out crl.der

output the text form of a DER encoded certificate:

openssl crl -in crl.der -text -noout

(and yes, it really does say "certificate" there. she's a CRL command but she contains multitudes πŸ’€)


⭐ BUGS ⭐

ideally it should be possible to create a CRL using appropriate options and files too. so... she currently cannot, and honestly, same 😭 (this is the page saying it, not me inventing anything β€” don't come for me)


🌈 SEE ALSO 🌈

openssl(1), openssl-crl2pkcs7(1), openssl-ca(1), openssl-x509(1), ossl_store-file(7)

the whole friend group, go read them, iykyk πŸ’–


πŸ‘‘ HISTORY πŸ‘‘

since OpenSSL 3.3, the -verify option will exit with 1 on failure. noted, recorded, periodt πŸ“


Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


aaaand that's the whole page bestie πŸŽ€ this was OPENSSL-CRL(1ossl), version 3.5.0, dated 2026-09-25 β€” mwah, go forth and verify those signatures βœ¨πŸ’…πŸ¦‹

πŸ“¦ where this page comes from