lprng_certs(1)
π lprng_certs(1) β the girlies' guide to LPRng SSL certs π
okay bestie, pull up a chair, because we are about to manage SSL certificates for LPRng and honestly? it's giving organized chaos but we're gonna slay it. this is the lprng_certs command from section 1 of the manual, and by the end you'll be running a whole certificate hierarchy like the main character you are. π
β¨ SYNOPSIS β¨
lprng_certs option
Options:
init - make directory structure
newca - make new root CA
defaults - set new default values for certs
gen - generate user, server, or signing cert
index [dir] - index cert files
verify [cert] - verify cert file
encrypt keyfile
- set or change keyfile password
that's it. that's the whole vibe. one command, seven little moods. π
πΈ DESCRIPTION πΈ
so the lprng_certs program manages SSL certificates for the LPRng software. the certificate situation there is a whole hierarchy β like a family tree but everyone is cryptographically vouching for each other. π¦
LPRng assumes you're gonna use these types of certificates:
- CA or root β a top level or self-signed certificate. the mother of the group chat. π
- signing β a certificate that can be used to sign other certificates. it gets signed by the root CA or by another signing certificate.
- user β a certificate a user uses to identify themselves to the
lpdserver. hi, it's me. πβοΈ - server β a certificate the
lpdserver uses to identify itself to the user or to otherlpdservers.
π Signing Certificates
all of the signing certificates β including the root certificate (root CA), /etc/lprng/ssl.ca/ca.crt β live in the same directory as the root CA file. alternatively, you can concatenate all of the signing certs and shove them into a single file, which by convention is assumed to have the same name as the root CA file, /etc/lprng/ssl.ca/ca.crt.
the ssl_ca_file, ssl_ca_path, and ssl_ca_key printcap and configuration options can be used to specify the locations of:
- the root CA files,
- a directory containing the signing certificate files,
- and the private key file for the root CA file,
respectively. β¨
the root certificate (root CA file) /etc/lprng/ssl.ca/ca.crt has a private key file /etc/lprng/ssl.ca/ca.key as well. by convention, the private keys for the other signing certificate files are stored in the certificate file.
the OpenSSL software requires that this directory also contain a set of hash files, which are β in effect β links to these files. π
by default, all signing certificates are assumed to be in the same directory as the root certificate.
π Server Certificates
the certificate used by the lpd server is kept in another directory. these files do not need to have hash links to them. by convention, the private keys for these certificate files are stored in the certificate file.
the server certificate file is specified by the ssl_server_cert and has the default value /etc/lprng/ssl.server/server.crt. this file contains the cert and private key. π
the server certificate password file is specified by the ssl_server_password option, with the default value
(no like seriously, there is literally nothing written there in the original manual β blank. iconic of it, honestly π)
and it contains the password used to decrypt the server's private key and use it for authentication. this key file should be read only by the lpd server.
fr fr, only the lpd server reads this one. keep it locked down bestie. π«Ά
π¦ User Certificates
the certificates used by users are kept in a separate directory in the user's home directory. by convention, the private keys for these certificate files are stored in the certificate file.
the user certificate file is specified by the LPR_SSL_FILE environment variable, otherwise the ${HOME}/.lpr/client.crt is used. the password is taken from the file specified by the LPR_SSL_PASSWORD environment variable, otherwise the ${HOME}/.lpr/client.pwd file is read. π
π USING LPRNG_CERTS π
the organization of the SSL certificates used by LPRng is similar to that used by other programs, such as the Apache mod_ssl support. the lprng_certs program is used to create the directory structure, and to create certificates for the root CA, signing, user, and servers. in order to make management simple, the following support is provided. π
β lprng_certs init
this command creates the directories used by the lpd server. it is useful when setting up a new lpd server. fresh start, new me, new directories. β¨
β lprng_certs newca
this command creates a self-signed certificate, suitable for use as a root CA certificate. it also sets up a set of default values for other certificate creation. the whole squad's defaults, sorted in one go. π
β lprng_certs defaults
this command is used to modify the set of default values.
the default values are listed and should be self-explanatory, except for the value of the signer certificate. by default, the root CA can be used to sign certificates. however, a signing certificate can be used as well. this allows delegation of signing authority without compromising the security of the root CA. delegation, bestie β the root CA stays safe at home while the signing cert does the errands. π§
β lprng_certs gen
this is used to generate a user, server, or signing certificate.
β lprng_certs index
this is used to create the indexes for the signing certificates.
β lprng_certs verify [cert]
this checks the certificate file using the Openssl openssl verify command. vibe check, but cryptographically. β
β lprng_certs encrypt keyfile
this removes all key information from the key file, reencrypts the key information, and then puts the encrypted key information in the file. πβ¨
π LPRng OPTIONS π
ssl_ca_pathβ directory holding the SSL signing certsssl_ca_fileβ file holding the root CA or all SSL signing certsssl_server_certβ cert file for the serverssl_server_passwordβ file containing password for server server${HOME}/.lpr/client.crtβ client certificate file${HOME}/.lpr/client.pwdβ client certificate private key password
πΈ ENVIRONMENT VARIABLES πΈ
LPR_SSL_FILEβ client certificate fileLPR_SSL_PASSWORDβ client certificate private key password
π EXIT STATUS π
the following exit values are returned:
- zero (0) β Successful completion. slay. π
- non-zero (!=0) β An error occurred. π
π₯ SEE ALSO π₯
lpd.conf(5), lpc(8), lpd(8), checkpc(8), lpr(1), lpq(1), lprm(1), printcap(5), lpd.conf(5), pr(1), lprng_certs(1), lprng_index_certs(1).
π AUTHOR π
Patrick Powell <papowell@lprng.com>.
π HISTORY π
LPRng is a enhanced printer spooler system with functionality similar to the Berkeley LPR software. the LPRng developer mailing list is lprng-devel@lists.sourceforge.net; subscribe by visiting https://lists.sourceforge.net/lists/listinfo/lprng-devel or sending mail to lprng-request@lists.sourceforge.net with the word subscribe in the body.
the software is available via http://lprng.sourceforge.net
and that's the whole page bestie!! this one's from the LPRng crew, dated 2006-12-09 β the manual page for lprng_certs(1), part of the LPRng package. go forth and certify responsibly. ππ¦β¨
π¦ where this page comes from
- debian bookworm: lprng 3.8.B-6 Β· GPL-2.0-or-later WITH OpenSSL exception OR Artistic-1.0-Perl
- debian trixie: lprng 3.8.B-9 Β· GPL-2.0-or-later WITH OpenSSL exception OR Artistic-1.0-Perl
- ubuntu jammy: lprng 3.8.B-5 Β· GPL-2.0-or-later WITH OpenSSL exception OR Artistic-1.0-Perl
- ubuntu noble: lprng 3.8.B-8build1 Β· GPL-2.0-or-later WITH OpenSSL exception OR Artistic-1.0-Perl
- ubuntu questing: lprng 3.8.B-9
- ubuntu resolute: lprng 3.8.B-10 Β· GPL-2.0-or-later WITH OpenSSL exception OR Artistic-1.0-Perl
- ubuntu stonking: lprng 3.8.B-11 Β· GPL-2.0-or-later WITH OpenSSL exception OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms