Network Working Group M. Blinov
Internet Draft Guardeonic Solutions
Expires: 15 March 2004 C. Adams
University of Ottawa
15 September 2003
Alternative Certificate Formats for PKIX-CMP
<draft-adams-cmpaltcert-01.txt>
Status of This Memo
Distribution of this memo is unlimited.
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
The PKIX Certificate Management Protocols (PKIX-CMP) specification,
while primarily focused on X.509v3 public-key certificates, allows
the messages it defines to be used for the management of alternative
certificate formats as well. This document specifies precisely how
such formats may be incorporated into PKIX-CMP and provides the
relevant syntax for some important certificate types.
Blinov, et al. Expires 15 March 2004 [Page 1]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
1. Introduction
Full certificate life-cycle management in a Public-Key Infrastructure
(PKI) requires protocol support in order to achieve automated
processing and end user transparency. Such protocols require
standardization in order to allow more than one vendor to supply
various pieces -- End Entity (EE), Certification Authority (CA),
Registration Authority (RA) -- in the PKI deployment of a single
organization, or to allow multiple, independently-deployed PKIs to be
interconnected usefully.
The IETF PKIX Working Group currently has certificate management
protocol specifications on the standards track. The specification
PKIX-CMP [CMP], looking beyond PKIX-specific environments to the
more-general certificate management requirements of other domains,
defines a syntactic structure for the "Certificate" data element that
allows certificate formats other than X.509 to be included easily
into the management messages. In particular, other types of
certificates may be requested from a CA, retrieved from a public
repository, recovered from a backup facility, updated/replaced when
nearing the end of their validity period, and revoked when required.
This specification takes the flexible syntax defined in PKIX-CMP and
fills in the details regarding how to incorporate alternative
certificate formats when this is desired.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2. Including Alternative Certificate Formats
In PKIX-CMP, the ASN.1 construct, and corresponding comment, for a
certificate is given as follows.
CMPCertificate ::= CHOICE {
x509v3PKCert Certificate
}
-- This syntax, while bits-on-the-wire compatible with the standard
-- X.509 definition of "Certificate", allows the possibility of future
-- certificate types (such as X.509 attribute certificates, WAP WTLS
-- certificates, or other kinds of certificates) within this
-- certificate management protocol, should a need ever arise to support
-- such generality.
Building on this framework, then, this document expands the above
CHOICE construct as follows.
Blinov, et al. Expires 15 March 2004 [Page 2]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
CMPCertificate ::= CHOICE {
x509v3PKCert Certificate
x509v2AttCert [0] AttributeCertificate,
-- defined in [ATTCERT]
wtlsCert [1] WTLSCert,
openPGPCert [2] OpenPGPCert
}
WTLSCert ::= OCTET STRING
-- contains the structure WTLSCertificate from the WAP WTLS
-- specification [WTLS], encoded as an ASN.1 OCTET STRING
OpenPGPCert ::= OCTET STRING
-- contains the OpenPGP certificate (OpenPGP Transferable
-- Public Key) data structure from the OpenPGP specification
-- [OPENPGP] (binary format without Radix-64 conversions),
-- encoded as an ASN.1 OCTET STRING
Expanding the CHOICE construct as above allows X.509 attribute
certificates, WAP (Wireless Application Protocol) WTLS (Wireless
Transport Layer Security) certificates, and OpenPGP certificates to
be used within the PKIX-CMP management messages. In the future, this
construct may be expanded further (in subsequent revisions of this
document) to accomodate other certificate types if this is found to
be necessary.
3. Initialization Request
One of the features of PKIX-CMP is its use of the CertTemplate
construct, which allows a requester (EE, or RA acting on behalf of an
EE) to specify as much or as little as they wish regarding the
content of the requested certificate. It is explicitly noted that
the CA has final authority over the actual certificate content; that
is, the CA may alter certificate fields or may add, delete, or alter
extensions according to its operating policy (if the resulting
certificate is unacceptable to the EE or RA, then that certificate
may be rejected and/or revoked prior to any publication/use).
For the new certificate types included in this document, a similar
flexibility in the request message must be available. PKIX-CMP
accomodates this in the following way
(where id-regCtrl = {1 3 6 1 5 5 7 5 1} as defined in [CRMF]).
CertRequest ::= SEQUENCE {
certReqId INTEGER,
certTemplate CertTemplate,
controls Controls OPTIONAL }
-- If certTemplate is an empty SEQUENCE (i.e., all fields
Blinov, et al. Expires 15 March 2004 [Page 3]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
-- omitted), then controls MAY contain the
-- id-regCtrl-altCertTemplate control, specifying a template
-- for a certificate other than an X.509v3 public-key
-- certificate. Conversely, if certTemplate is not empty
-- (i.e., at least one field is present), then controls
-- MUST NOT contain id-regCtrl-altCertTemplate. The new
-- control is defined as follows:
id-regCtrl-altCertTemplate OBJECT IDENTIFIER ::= {id-regCtrl 7}
AltCertTemplate ::= AttributeTypeAndValue
In this section, an AltCertTemplate is specified for each of the
alternative certificates defined in Section 2.
3.1. X.509 Attribute Certificate CertTemplate
A CertTemplate for an X.509 attribute certificate can be used by
simply defining an object identifier (OID) and corresponding value
for use in the id-regCtrl-altCertTemplate control. These are
specified as follows.
OID:
id-acTemplate OBJECT IDENTIFIER ::=
{id-regCtrl-altCertTemplate xx}
Value:
AttCertTemplate ::= SEQUENCE {
version AttCertVersion OPTIONAL,
holder Holder OPTIONAL,
issuer AttCertIssuer OPTIONAL,
signature AlgorithmIdentifier OPTIONAL,
serialNumber CertificateSerialNumber OPTIONAL,
attrCertValidityPeriod OptionalAttCertValidity OPTIONAL,
attributes SEQUENCE OF Attribute OPTIONAL,
issuerUniqueID UniqueIdentifier OPTIONAL,
extensions Extensions OPTIONAL
}
OptionalAttCertValidity ::= SEQUENCE {
notBeforeTime GeneralizedTime OPTIONAL,
notAfterTime GeneralizedTime OPTIONAL
} -- at least one must be present
3.2. WTLS Certificate CertTemplate
A CertTemplate for a Wireless Transport Layer Security certificate
can be used by simply defining an object identifier (OID) and
Blinov, et al. Expires 15 March 2004 [Page 4]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
corresponding value for use in the id-regCtrl-altCertTemplate
control. These are specified as follows.
OID:
id-wtlsTemplate OBJECT IDENTIFIER ::=
{id-regCtrl-altCertTemplate yy}
Value:
WTLSCertTemplate ::= OCTET STRING
-- actual content to be defined in the WAP Security Group and
-- then encoded as an ASN.1 OCTET STRING
3.3. OpenPGP Certificate CertTemplate
Similar to certificate templates defined above, a CertTemplate for an
OpenPGP certificate can be used by defining an object identifier
(OID) and corresponding value for use in the
id-regCtrl-altCertTemplate control. These are specified as follows:
OID:
id-openPGPCertTemplateExt OBJECT IDENTIFIER ::=
{id-regCtrl-altCertTemplate zz}
Value:
OpenPGPCertTemplateExtended ::= SEQUENCE {
nativeTemplate OpenPGPCertTemplate,
controls Controls OPTIONAL }
OpenPGPCertTemplate ::= OCTET STRING
-- contains the OpenPGP CertTemplate data structure defined
-- below (binary format without Radix-64 conversions)
-- encoded as an ASN.1 OCTET STRING
3.3.1. OpenPGP CertTemplate Data Structure
Similar to the X.509 CertTemplate, the OpenPGP CertTemplate is an
OpenPGP certificate (OpenPGP Transferable Public Key) [OPENPGP] with
all fields optional. The essential elements of an OpenPGP
CertTemplate are:
- Zero or one Public Key packet.
Blinov, et al. Expires 15 March 2004 [Page 5]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
- Zero or more Direct Key Self Signature packets.
- Zero or more Certification Signature packets [only if no User ID
packets are present].
- Zero or more User ID packets.
- After each User ID packet, zero or more Certification Signature
packets.
- Zero or more Subkey packets.
- After each Subkey packet, zero or one Subkey Binding Signature
packet.
Each packet in the OpenPGP CertTemplate MUST be a syntactically
correct OpenPGP packet. This will enable conformant implementations
to use existing PGP libraries for building and parsing OpenPGP
CertTemplates.
The following implications of this rule should be explicitly noted:
- Fields for which the OpenPGP specification defines a set of
permitted values (e.g. the signature type or the public key
algorithm fields of the Signature packet) MUST have a value from
the defined set. Even if the requester does not have any
particular preferences for, for example, the signature algorithm,
it MUST choose one value that is the most desirable.
Rationale: An alternative solution could be to define extra "any"
values, but this would be a modification of the OpenPGP syntax
which is not considered to be appropriate in this document.
- All subpackets of the Signature packet defined by the OpenPGP
specification as mandatory (e.g. the creation time and the
issuer's key id subpackets) MUST be present even though they do
not make much sense in the context of a certificate request.
- The number of MPIs at the end of the Key Material and the
Signature packets MUST match the number defined by the OpenPGP
specification for the given algorithm (the algorithm is controlled
by the value of the "algorithm" field). For example, there should
be 2 MPIs for DSA signatures. Note that the OpenPGP specification
does not define validation rules for the content of those MPIs.
Though it is not considered appropriate here to define extra "any"
values for fields of enumerated types, such values can still be
defined for some other fields where the OpenPGP specification is not
Blinov, et al. Expires 15 March 2004 [Page 6]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
that strict.
The following extra values are defined in the context of the OpenPGP
CertTemplate. Note that these definitions do not modify the syntax
of OpenPGP packets and existing PGP libraries can still be used to
generate and parse them.
- For fields representing time (e.g. signature creation time): the
value of zero means "any time".
- For fields holding key IDs: the value of 0xFFFFFFFFFFFFFFFF means
"any key id".
- For signature fields: the "any signature" value is encoded as a
sequence of MPIs such that:
* the number of MPIs matches the number of MPIs defined by the
OpenPGP specification for the given algorithm, and
* the value of each MPI is 0xFF.
A Signature packet with the "any" value in the signature fields is
called a Signature Template.
Example: The "any signature" value for a DSA signature would
look like [00 08 FF 00 08 FF]
- For key material fields: the "any key" value is encoded as a
sequence of MPIs such that:
* the number of MPIs matches the number of MPIs defined by the
OpenPGP specification for the given algorithm, and
* the value of at least one of the MPIs is a bit string with all
its bits set to 1.
A Key Material packet with the "any" value in the key material
fields is called a Key Template. (See Key Template section for
further details.)
Example: The "any key" value for a DSA public key may look like
[00 08 FF 00 10 FF FF 00 10 85 34 00 08 FF]
The following rules apply to the sequence of packets within the
OpenPGP CertTemplate:
- If the Public Key packet is omitted from the OpenPGP CertTemplate
then this CertTemplate does not constrain the value of the public
Blinov, et al. Expires 15 March 2004 [Page 7]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
key, i.e. it refers to "any" public key.
- The order of Signature packets following a User ID packet and the
order of User ID packets within the CertTemplate are not
important.
- If an OpenPGP CertTemplate does not contain any User ID packets
then it refers to "any" user ids that are relevant to a given
request.
3.3.2. OpenPGP CertTemplate in Certificate Requests
Since an OpenPGP certificate can have several certification
signatures, the OpenPGP CertTemplate uses Signature Templates to
define where certification signatures should occur. The values of
the fields of the Signature Templates define the parameters of the
new certification signatures. The following rules apply:
- A Signature Template that is present in the list of signatures
following a User ID packet requests the CA to certify this User ID
and the public key and replace the Signature Template with the new
certification signature. The Signature Template does not mandate
the exact place of the certification signature within the list.
The certification signature may be inserted at any position within
the list of signatures (following the certified User ID packet).
- A Signature Template may be present in the OpenPGP CertTemplate
without any preceding User ID packet. In this case it is assumed
that the CA knows the ID(s) of the user by some other means. A
Signature Template without a preceding User ID requests the CA to
insert all known User IDs of the user to the OpenPGP certificate
and certify each of them. The Signature Template defines the
parameters of these certification signatures.
- If an OpenPGP CertTemplate contains no Signature Templates then
the CA is requested to certify all User IDs that are present in
the OpenPGP CertTemplate. Such a CertTemplate does not define
parameters of the certification signatures explicitly, but the CA
SHOULD use parameters of the certification self-signatures (if
present in the CertTemplate) as a guidance (e.g. key flags
fields).
- If neither Signature Templates nor User IDs are present in the
OpenPGP CertTemplate then the CA is expected to know the ID(s) of
the user by some other means. In this case the CertTemplate
requests the CA to insert these User IDs into the OpenPGP
certificate and certify each of them. The parameters of the
certification signatures are left to the CA.
Blinov, et al. Expires 15 March 2004 [Page 8]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
If several certification signatures have to be produced according to
an OpenPGP CertTemplate and any of them can not be granted (even with
modifications) for whatever reason then the whole request with this
OpenPGP CertTemplate MUST be rejected.
The client SHOULD provide enough information in its request so that
the CA could produce a complete OpenPGP certificate. For example,
the client SHOULD include in the template all relevant subkeys with
their binding signatures so that the CA can include them in the
resultant OpenPGP certificate as well. Rationale: In some
environments the CA/RA is responsible for publishing certificates.
3.3.3. Key Templates and Central Key Generation
The OpenPGP CertTemplate can also be used to request certification of
centrally-generated keys. This is accomplished by using Key
Templates.
If the Public Key packet of an OpenPGP CertTemplate is a Key Template
then this OpenPGP CertTemplate requests the CA/RA to generate the key
pair prior to certifying it. Fields of the Key Template define
parameters of the new key pair as follows (see examples in the
Appendix):
- The "public key algorithm" field specifies the algorithm to be
used for the key generation.
- MPI fields with the value of 0xFF ([00 08 FF]) specify that no
constraint is placed on the corresponding part of the key.
- MPI fields that contain any other bit strings with all bits set to
1 specify that the corresponding part of the key should be of the
same length as the length of the MPI (e.g. the length of the
public modulus n of the RSA key).
- MPI fields that contain any other values specify that the
corresponding part of the key should be of the given value (key
generation parameters).
In order to return a complete OpenPGP certificate, in addition to
certifying the new key and the User ID, the CA (or RA) SHOULD also
create a self-signature (i.e. sign the new public key and the User ID
with the new private key) and include it after the User ID packet.
This SHOULD be done for all User IDs certified by the CA.
If a Subkey packet of an OpenPGP CertTemplate is a Key Template then
this OpenPGP CertTemplate requests the CA/RA to generate a subkey.
Fields of the Key Template define parameters of the new subkey. The
Blinov, et al. Expires 15 March 2004 [Page 9]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
new subkey obviously does not have to be certified. However, the
CA/RA SHOULD produce the binding signature and include it after the
subkey, if the CA/RA knows the user's primary private key (e.g. it
was centrally generated as well). Note that if the CA/RA does not
know the user's primary private key then the resultant OpenPGP
certificate returned from the CA/RA to the client will be incomplete
(i.e. there will be no binding signature for the subkey). It will be
the responsibility of the client to produce and add the binding
signature and to publish the final OpenPGP certificate.
If an OpenPGP CertTemplate contains neither PublicKey/Subkey packets
nor Key Template packets then it requests the CA to generate
keys/subkeys according to the CA's policies.
3.3.4. OpenPGPCertTemplateExtended
The OpenPGPCertTemplateExtended structure enables additional
extensions and controls to be added to the basic OpenPGP
CertTemplate.
3.3.5. OpenPGP CertTemplate Required Profile
A conformant implementation is REQUIRED to support OpenPGP
CertTemplates that are valid OpenPGP certificates, i.e. that have the
following structure (see examples in the Appendix):
- One Public Key packet (not a Key Template).
- Zero or more Direct Key Self Signature packets (without Signature
Templates).
- One or more User ID packets.
- After each User ID packet, zero or more Certification Signature
packets (without Signature Templates).
- Zero or more Subkey packets (without Key Templates).
- After each Subkey packet, one Subkey Binding Signature packet (not
a Signature Template).
A conformant implementation is REQUIRED to recognise Key Templates
and Signature Templates and is REQUIRED to either support them or
reject requests containing them if it does not.
Blinov, et al. Expires 15 March 2004 [Page 10]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
3.3.6. CMP-related Issues
3.3.6.1. POP
The CMP specification has the following note:
* NOTE: If CertReqMsg certReq certTemplate
* (or the altCertTemplate control) contains the subject and publicKey
* values, then poposkInput MUST be omitted and the signature MUST be
* computed on the DER-encoded value of CertReqMsg certReq (or the DER-
* encoded value of AltCertTemplate).
It is considered that an OpenPGP CertTemplate satisfies the
conditions of this note if it has a Public Key packet (not a Key
Template) and at least one User ID packet.
4. Security Considerations
This entire memo is about security. It describes a mechanism that
may be used to incorporate multiple certificate formats into the
PKIX-CMP certificate management protocol.
Appendix A. Examples of OpenPGP CertTemplates
This Appendix presents examples of OpenPGP CertTemplates that are
used for requesting OpenPGP certificates from a CA.
A1. Simple Certificate Request
Alice requests an OpenPGP certificate for her public key accompanied
by a subkey.
The content of the OpenPGP CertTemplate in the request is as follows.
This CertTemplate conforms to the OpenPGP CertTemplate Required
Profile.
0000: 99 01 A2 === Pub Key packet ===
0003: 04 3C 58 27 A2 11 ver 4, created 30 Jan 2002, DSA
0009: 00 E3 FB 9D .. 2B EF DSA prime p
008B: 00 A0 FF 7E .. BA 71 DSA group order q
00A1: 03 FF 68 BC .. 56 71 DSA group generator g
0123: 03 FE 38 1F .. F2 63 DSA public key value y
01A5: B4 16 === User ID packet ===
01A7: 41 6C .. 6D 3E "Alice <alice@some.com>"
01BD: 89 00 49 === Signature packet (self-signature) ===
01C0: 04 10 11 02 ver 4, gen cert, DSA, SHA1
01C4: 00 09 05 02 3C 58 27 A2 02 1B 03
Blinov, et al. Expires 15 March 2004 [Page 11]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
created 30 Jan 2002, key usage:
sign data and certify other keys
01CF: 00 0A 09 10 43 5C .. 06 77 issuer key id
01DB: 5A C2 left 16 bits of signed hash value
01DD: 00 A0 EB 00 .. 1B 75 DSA value r
01F3: 00 A0 F4 E4 .. A8 3D DSA value s
0209: B9 02 0D === Public Subkey packet ===
020C: 04 3C 58 27 A2 10 ver 4, created 30 Jan 2002,
Elgamal (encrypt-only) algorithm
0212: 08 00 F6 42 .. 0B 3B Elgamal prime p
0314: 00 02 02 Elgamal group generator g
0317: 07 FE 37 BA .. DF 21 Elgamal public key value y
0419: 89 00 49 === Signature packet (subkey binding) ===
041C: 04 18 11 02 ver 4, subkey binding, DSA, SHA1
0420: 00 09 05 02 3C 58 27 A2 02 1B 0C
created 30 Jan 2002, key usage:
encrypt communications and storage
042B: 00 0A 09 10 43 5C .. 06 77 issuer key id
0437: C7 DE left 16 bits of signed hash value
0439: 00 9E 21 33 .. 39 1B DSA value r
044F: 00 9F 64 D7 .. 63 08 DSA value s
0465:
CA certifies Alice's User ID and the public key and creates the
following OpenPGP certificate:
0000: 99 01 A2 === Pub Key packet ===
0003: <the same as in the request>
01A5: B4 16 === User ID packet ===
01A7: <the same as in the request>
01BD: 89 00 49 === Signature packet (self-signature) ===
01C0: <the same as in the request>
0209: 89 00 49 === Signature packet (certification) ===
020C: 04 13 11 02 ver 4, positive cert, DSA, SHA1
0210: 00 09 05 02 3C 58 28 1A 02 1B 03
created 30 Jan 2002, key usage:
sign data and certify other keys
021B: 00 0A 09 10 F0 0D .. 1F CA issuer key id
0227: 06 DF left 16 bits of signed hash value
0229: 00 9F 57 2D .. 26 E3 DSA value r
023F: 00 A0 B3 02 .. CE 65 DSA value s
0255: B9 02 0D === Public Subkey packet ===
0258: <the same as in the request>
0465: 89 00 49 === Signature packet (subkey binding) ===
0468: <the same as in the request>
04B1:
Blinov, et al. Expires 15 March 2004 [Page 12]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
A2. Certificate Request with Central Key Generation
Alice requests the CA to generate an RSA key pair that will be used
for signing and another RSA key pair that will be used for encryption
and to certify these keys. The RSA keys are requested to be 2048
bits long with the public exponent 65537.
The content of the OpenPGP CertTemplate in the request is as follows:
0000: 99 01 0D === Pub Key packet (Template) ===
0003: 04 FF FF FF FF 01 ver 4, any creation date, RSA
0009: 08 00 FF FF .. FF FF RSA public modulus n - given length
010B: 00 11 01 00 01 RSA public exponent e
0110: B4 16 === User ID packet ===
0112: 41 6C .. 6D 3E "Alice <alice@some.com>"
0128: 89 00 23 === Signature packet (Template) ===
012B: 04 10 11 02 ver 4, gen cert, DSA, SHA1
012F: 00 09 05 02 FF FF FF FF 02 1B 03
any creation date, key usage:
sign data and certify other keys
013A: 00 0A 09 10 FF FF .. FF FF issuer key id - any
0146: 05 3A left 16 bits of signed hash value
0148: 00 08 FF DSA value r - any
014B: 00 08 FF DSA value s - any
014E: 99 01 0D === Public Subkey packet (Template) ===
0151: 04 FF FF FF FF 01 ver 4, any creation date, RSA
0157: 08 00 FF FF .. FF FF RSA public modulus n - given length
0259: 00 11 01 00 01 RSA public exponent e
025E: 89 00 20 === Signature packet (Template) ===
0261: 04 18 01 02 ver 4, subkey binding, RSA, SHA1
0265: 00 09 05 02 FF FF FF FF 02 1B 0C
any creation date, key usage:
encrypt communications and storage
0270: 00 0A 09 10 FF FF .. FF FF issuer key id - any
027C: 12 E6 left 16 bits of signed hash value
027E: 00 08 FF RSA signature value - any
0281:
CA generates keys, certifies Alice's User ID and the public key and
creates the following OpenPGP certificate:
0000: 99 01 0D === Pub Key packet ===
0003: 04 3C 5A A5 BB 01 ver 4, created 01 Feb 2002, RSA
0009: 08 00 C7 21 .. 5B EB RSA public modulus n
010B: 00 11 01 00 01 RSA public exponent e
0110: B4 16 === User ID packet ===
0112: 41 6C .. 6D 3E "Alice <alice@some.com>"
0128: 89 01 1F === Signature packet (self-signature) ===
Blinov, et al. Expires 15 March 2004 [Page 13]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
012B: 04 10 01 02 ver 4, gen cert, RSA, SHA1
012F: 00 09 05 02 3C 5A A5 BB 02 1B 03
created 01 Feb 2002, key usage:
sign data and certify other keys
013A: 00 0A 09 10 8E AF .. 1A 18 issuer key id
0146: 3B 21 left 16 bits of signed hash value
0148: 07 FE 2F 1D .. C0 81 RSA signature value
024A: 89 00 49 === Signature packet (certification) ===
024D: 04 13 11 02 ver 4, positive cert, DSA, SHA1
0251: 00 09 05 02 3C 5A A5 DC 02 1B 03
created 01 Feb 2002, key usage:
sign data and certify other keys
025C: 00 0A 09 10 F0 0D .. 1F CA issuer key id
0268: BA C2 left 16 bits of signed hash value
026A: 00 9F 5E 58 .. 30 B3 DSA value r
0280: 00 A0 D1 D7 .. 5A AF DSA value s
0296: 99 01 0D === Public Subkey packet ===
0299: 04 3C 5A A5 C5 01 ver 4, created 01 Feb 2002, RSA
029F: 08 00 C3 03 .. 8C 53 RSA public modulus n
03A1: 00 11 01 00 01 RSA public exponent e
03A6: 89 01 1F === Signature packet (subkey binding) ===
03A9: 04 18 01 02 ver 4, subkey binding, RSA, SHA1
03AD: 00 09 05 02 3C 5A A5 C5 05 1B 0C
created 01 Feb 2002, key usage:
encrypt communications and storage
03B8: 00 0A 09 10 8E AF .. 1A 18 issuer key id
03C4: C8 44 left 16 bits of signed hash value
03C6: 07 FB 04 D7 .. 75 BE RSA signature value
04C8:
Normative references
[ATTCERT] Farrell, S. and R. Housley, "An Internet Attribute
Certificate: Profile for Authorization", RFC 3281, April
2002.
[CMP] Adams, C. and S. Farrell, "Internet X.509 Public Key
Infrastructure: Certificate Management Protocols",
Internet Draft draft-ietf-pkix-rfc2510bis-08.txt, Work in
progress.
[CRMF] Myers, M., Adams, C., Solo, D. and D. Kemp, "Internet
X.509 Certificate Request Message Format", RFC 2511,
March 1999.
[OPENPGP] Callas, J., Donnerhacke, L., Finney, H. and R. Thayer,
"OpenPGP Message Format", RFC 2440, November 1998.
Blinov, et al. Expires 15 March 2004 [Page 14]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997.
[WTLS] WAP Forum, "Wireless Transport Layer Security",
Specification WAP-261-WTLS-20010406-a, April 2001.
Author's Address
Questions about this memo can be directed to:
Mikhail Blinov
Guardeonic Solutions
Fitzwilliam Court, Leeson Close
Dublin 2, Ireland
e-mail: mikhail.blinov@guardeonic.com
Carlisle Adams
School of Information Technology and Engineering (SITE)
University of Ottawa
800 King Edward Avenue
P.O. Box 450, Stn A
Ottawa, Ontario, Canada K1N 6N5
e-mail: cadams@site.uottawa.ca
Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
Blinov, et al. Expires 15 March 2004 [Page 15]
Internet Draft Alternative Cert Formats for CMP 15 September 2003
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
Blinov, et al. Expires 15 March 2004 [Page 16]