- From: Thomas Maslen <maslen@dstc.edu.au>
- Date: Fri, 16 Mar 2001 20:24:57 +1000
- To: "Donald E. Eastlake 3rd" <dee3@torque.pothole.com>
- cc: w3c-ietf-xmldsig@w3.org
> X.509v3 defines CertificateSerialNumber as INTEGER.
Right.
A number (no pun intended) of other ASN.1 INTEGER values from X.509 are also
mapped into xmldsig constructs, including:
6.4.1: DSAKeyValue P, Q, G, Y, J, Seed and PgenCounter are all Base64
6.4.2: PKCS#1 SignatureValue.
6.4.2: RSAKeyValue Modulus and Exponent are both Base64
Section 6.4.2 also contains a paragraph that reads:
Arbitrary-length integers (e.g. "bignums" such as RSA modulii) are
represented in XML as octet strings. The integer value is first
converted to a "big endian" bitstring. The bitstring is then padded
with leading zero bits so that the total number of bits == 0 mod 8
(so that there are an even number of bytes). If the bitstring
contains entire leading bytes that are zero, these are removed (so
the high-order byte is always non-zero). This octet string is then
base64 [MIME] encoded. (The conversion from integer to octet string
is equivalent to IEEE 1363's I2OSP [1363] with minimal length).
Given this, encoding the X509SerialNumber element as an xml-schema integer
seems pretty inconsistent with the rest of the xmldsig spec.
> But it isn't our fault that instead of just numbering their certificates
> 1, 2, 3, ... as was presumably the original concept, some CA's seem to want
> to encode lots of private extension information and the kitchen sink into
> this field or use a hash or whatever.
We may not like it, but for better or worse it is an arbitrary-length integer
and has to be treated as one.
> We need feedback from implementors.
An xmldsig implementation already needs code to handle Base64 (simple);
requiring (more complex) bignum-to-decimal and decimal-to-bignum code as well,
just to make small-integer certificate serial numbers look nice in the XML,
would be unfortunate. Not a big deal on a desktop machine, where code bloat
is the order of the day, but possibly the last straw for trying to make
xmldsig useful on a PDA.
By the way, is that paragraph from section 6.4.2 intended to apply to all
bignums, e.g. the DSA ones in section 6.4.1?
Thomas Maslen
DSTC
Received on Friday, 16 March 2001 05:25:14 UTC