Cryptography Reference
In-Depth Information
Diffi e-Hellman key exchange in such a way that guarding against the small sub-
group attack is unnecessary; this will be examined in more detail in Chapter 8. If
you're curious, and would like to see more detail on how these parameters may
be used to guard against small subgroup attacks, you may refer to RFC 2631.
extensions
extensions [3] EXPLICIT Extensions OPTIONAL
-- If present, version shall be v3
Finally, there is the generic extensions fi eld introduced in X.509v3 — in fact,
this was the only addition to X.509v3. Certifi cate extensions, if present — which
they almost always are these days — are appended here. extensions is a nested
SEQUENCE of object identifi ers, optionally followed by data (depending on the
object identifi er).
This topic doesn't go through all the available certifi cate extensions. RFC
5280, section 4.2 lists all of the standard ones, but be aware that two entities
can agree on non-standard extensions as well. There are, however, a handful
of particularly important ones.
The extensions type is defi ned as
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
and the extension type itself is defi ned as
Extension ::= SEQUENCE {
extnID OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING }
Each extension has a unique object identifi er; this object identifi er determines
how the extnValue is parsed, or if it's even present. Additionally, there's a criti-
cal fi eld. If an extension is marked critical, and the reader doesn't recognize it,
it must reject the entire certifi cate; otherwise, unrecognized extensions can be
ignored. Most extensions are not marked critical.
The Subject Alternative Name extension (OID 55 1D 11) is a useful, but not
widely used, extension. This extension offers a place to specifi cally identify a
server's domain name; it also supports e-mail addresses, IP addresses, other direc-
tory names, and so on. Because the domain name is explicit, the common-name
fi eld no longer needs to be assumed to be the domain name. Unfortunately, this
extension has failed to catch on, chiefl y for the same reason the DC component
in the subject name failed to catch on; to support older clients, servers must
continue to set the common name to be the same as domain name. (In fact,
it's unclear what, if anything, ought to be in the CN component of a certifi cate's
subject when the certifi cate identifi es a web site, if not the domain name.)
There are additional certifi cate extensions throughout the remainder of this
chapter. Each one is encoded according to the Extension structure defi ned
 
Search WWH ::




Custom Search