CLSMIME(1)
π CLSMIME π (the manual, section 1)
okay bestie, welcome to CLSMIME(1) β it ships with Cryptlib Tools, and it's literally the S/MIME public key encryption tool that plays nice with Thunderbird, Evolution, Outlook and OpenSSL. yes, all of them. she's versatile. π
π NAME π
clsmime β the S/MIME public key encryption tool that interoperates with Thunderbird, Evolution, Outlook and OpenSSL. no cap, she talks to everybody. π
β¨ SYNOPSIS β¨
here's the shape of her, five whole moods:
clsmime [OPTIONS] encrypt messagefile certificate
clsmime [OPTIONS] decrypt encrypted_message KeysetName
clsmime [OPTIONS] sign messagefile KeysetName
clsmime [OPTIONS] verify signed_message [CArootCertificate]
clsmime [OPTIONS] list [<NumLines>] MessageFile
π¦ DESCRIPTION π¦
okay so here's the tea. π΅
clsmime encrypt takes text or binary data and locks it up with a RSA public key that lives inside the recipient's certificate file. it's giving "sealed envelope, but make it cryptography". π
clsmime decrypt and clsmime sign work with S/MIME data using a RSA private key that's stored in a *.p15 keyset file. and guess what β those RSA public and private keys hanging out in your *.p15 keyset file can be generated and managed with clkeys. teamwork, honestly. π«Ά
clsmime verify checks S/MIME signatures that come with enclosed certificates. the signer's certificate gets checked against an optional issuer CA certificate, and that CA certificate is treated as a trusted CA root certificate. very official, very demure.
and the best part? those encrypted and/or signed S/MIME message files you make can be swapped with either OpenSSL or any email client that knows how to process S/MIME messages β think Thunderbird, Evolution or MS Outlook. β¨
π OPTIONS π
-helpβ shows you this help and dips out. bye! π-versionβ spits out version information and exits.-debugβ prints debugging information tostderr. detective mode, activate. π-detachβ generates a detached signature in S/MIME format asmultipart/signed. (the default is a signature that includes the enclosed text message, jsyk.)-integritycheckβ forces integrity protection while encrypting data. the cryptogram gets enveloped in anauthEnvelopedDataobject that cannot be decrypted with OpenSSL. π use this option when the output data is going to be processed withclsmimeitself. iykyk.-binaryβ do not change the input bytes (the default is text mode).
okay so in text mode, all '\n' get replaced by '\r\n', and a Content-Type header gets added in front of the input bytes before the message is signed. then when clsmime verifies a signed message, that Content-Type header and the extra '\r' characters get removed after verification. so the verification bytes that get stored into the file system match the original text message. π balance restored.
-certchainβ writes the certificate chain to the file system while verifying a S/MIME signature. π
π INTEROPERABILITY π
π§ S/MIME capable E-mail clients (Thunderbird, Evolution, Outlook)
- Thunderbird or Evolution: import the CA certificate (into the CA section) before you import a user's certificate (into the person section). order matters, bestie, don't skip steps. π
- Microsoft Outlook: use the contacts tab to enter the Common Name and the email address, then finally click on the
'certificate button'to import the contact's certificate stored in a*.cerfile. slay.
π OpenSSL
these OpenSSL commands can be used to exchange message files with clsmime:
Encryption :
openssl smime -encrypt -aes-256-cbc -in message -binary -out message.smime certfile
Decryption :
openssl smime -decrypt -in message -out message.clear -recip cert -inkey RSAkey
Signing :
openssl smime -sign -in message -text -signer cert -inkey RSAkey -out message.sig
Verification :
openssl smime -verify -in message -out message.verified -inkey certfile -CAfile CAcert
CertChains can be examined with:
sed -i Β΄s/CERTIFICATE CHAIN/PKCS7/Β΄ certchain ; openssl pkcs7 -in certchain -text -print_certs
π NOTES π
- full documentation lives at
https://senderek.ie/cryptlib/tools⨠- this program depends on two packages: the one providing the
cryptlibshared object library, and thepython3-bindingsto that library. - you can download both packages in RPM or DEB format at
https://senderek.ie/cryptlib/ - using FEDORA, you can install the packages
cryptlibandcryptlib-python3directly from the repository. convenient much? π - in addition, the program
/bin/systemd-ask-passwordis needed to read sensible data fromstdin. that program is part of thesystemdpackage. π«Ά
ποΈ FILES ποΈ
/usr/bin/systemd-ask-passwordβ this program is used to provide the passphrase based on a user's input. π/usr/bin/dumpasn1β this program is used to list the ASN1 structure of output files./lib64/libcl.so.3.4.9β the cryptlib library. the icon herself. π/usr/lib/python3.1x/site-packages/cryptlib_py.soβ bindings to the cryptlib library used bypython3.
π BUGS π
please report bugs to innovation@senderek.ie β be nice, they're doing their best. π
π§ AUTHORS π§
clsmimeis written by Ralf Senderek<innovation@senderek.ie>. π- Cryptlib is written and maintained by Peter Gutmann
<pgut001@cs.auckland.ac.nz>. legends, both of them. π
π COPYRIGHT π
Copyright Β© 2024 - 2026 Ralf Senderek. All rights reserved.
License BSD-3-Clause: https://senderek.ie/cryptlib/bsd.html. this is free software: you are free to change and redistribute it. there is NO WARRANTY, to the extent permitted by law. (yes, all caps. they mean it. π)
π SEE ALSO π
cryptlib, clkeys, claes, clrsa
and that's the whole page, bestie β CLSMIME(1), straight out of Cryptlib Tools, dated February 2026. go encrypt something. πβ¨π¦
π¦ where this page comes from
- fedora 43: cryptlib-tools 3.4.9.3-1.fc43
- fedora 43: cryptlib-tools 3.4.9.6-1.fc43 Β· Sleepycat and OpenSSL and BSD-3-Clause
- fedora 44: cryptlib-tools 3.4.9-2.fc44 Β· Sleepycat and OpenSSL and BSD-3-Clause
- fedora 44: cryptlib-tools 3.4.9.3-1.fc44
- fedora 44: cryptlib-tools 3.4.9.6-1.fc44 Β· Sleepycat and OpenSSL and BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms