[openssl-users] Personal CA: are cert serial numbers critical?
Jakob Bohm
jb-openssl at wisemo.com
Wed Aug 16 14:51:26 UTC 2017
On 16/08/2017 16:32, Tom Browder wrote:
> On Wed, Aug 16, 2017 at 08:36 Salz, Rich via openssl-users
> <openssl-users at openssl.org <mailto:openssl-users at openssl.org>> wrote:
>
> ➢ So, in summary, do I need to ensure cert serial numbers are
> unique for my CA?
>
> Why would you not? The specifications require it, but those
> specifications are for interoperability. If nobody is ever going
> to see your certs, then who cares what’s in them?
>
>
> Well, I do like to abide by specs, and they will be used in various
> browsers, so I think I will continue the unique serial numbering.
>
> Thanks, Rich.
Modern browsers increasingly presume that such private CAs behave exactly
like the public CAs regulated through the CA/Browsers Forum (CAB/F) and
the per-browser root CA inclusion programs (the administrative processes
that determine which CAs are listed in browsers by default).
Among the relevant requirements now needed:
- Serial numbers are *exactly* 20 bytes (153 to 159 bits) both as
standalone
numbers and as DER-encoded numbers. Note that this is not the default in
the openssl ca program.
- Serial numbers contain cryptographically strong random bits, currently at
least 64 random bits, though it is best if the entire serial number looks
random from the outside. This is not implemented by the openssl ca
program.
- Certificates are valid for at most 2 years (actually 825 days).
- SHA-1 (and other weak algorithms such as MD5) are no longer permitted and
is already disappearing from Browser code.
- RSA shorter than 2048 bits (and other weak settings such as equally short
DSA keys) are no longer permitted and is already disappearing from
Browser
code.
- If the certificate is issued to an e-mail address, that e-mail address
must
also be listed as an rfc822Name in a "Subject Alternative Name"
certificate
extension.
- End user certificates must be issued from an Intermediary CA whose
certificate is is in turn issued from a longer term root CA.
- If revocation is implemented (it should be, just in case someone gets
their
computer or other key storage hacked/stolen), it needs to support
OCSP, but
should ideally do so without having the actual CA keys online
(standard trick:
Issue 3-month non-revocable OCSP-signing certificates and provide the
corresponding private key to the server running the OCSP responder
program).
I would recommend to also implement traditional CRLs, since for
smaller CAs
it is a better solution for browsers and servers that support it.
Enjoy
Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S. https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark. Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded
More information about the openssl-users
mailing list