[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Support for "codice fiscale" syntax

Michael Ströder wrote:
Pierangelo Masarati wrote:
I've developed a module that implements support for the syntax of
"codice fiscale", the personal identification code used by the Italian
government to uniquely identify citizen.

Well, we currently get such a number in Germany too.

 I think it might be of general
use, although possibly limited to Italian users, so I'd like to give it
a somewhat official and unbiased OID, rather than one under my arc or
SysNet's.  Would it qualify as general enough for OpenLDAP's OID arc, at
least while experimental?

Well, when assigning OIDs there are two options:

1. the pragmatic approach: Use any OID arc you want since no-one ever
cares. This seems to be the most common approach and works within a
reasonable time-frame. Even OID arcs (enterprise IDs) looking very
"official" seem to be assigned with this approach.

2. the "official" approach: Try to convince an official numbering
authority to do the job. In your case that would the relevant Italian
government agency or the central Italian bank. Be prepared for either
being totally ignored or involved into really bizarre discussions. Also
be prepared to wait at least two years for it. (Do you know the movie

I don't see why an OpenLDAP OID should look somewhat "more official"
than any other OID arc. Just my two EUR cent. ;-)

Let's say more "neutral". I'm considering using a temporary OID from the experimental arc. For the rest, who knows?

I believe the need for a dedicated syntax (as
opposed to IA5string, printableString or so) is that its definition,
although flawed, needs to conform to quite a few restrictions, and a
syntax that allows to detect trivial errors and single out impossible
values would be definitely helpful.

Is there kind of a checksum digit?

Yes, but the whole design is flawed (in fact, the government seems to be considering the opportunity of changing it to something more reliable; I expect significant bureaucratic simplifications from this ;)

An OID arc would be best, because
the kit consists in:

- a syntax
- an equality matching rule (cfMatch)
- an attribute spec (cf)
- an auxiliary objectClass spec (cfObject)

Why do you need a matching rule?

Well, you're probably right: given the syntax specification, after validation a simple octet string match suffices.

Is there a required normalization step
like stripping white spaces before comparing it? (Frankly I'm not eager
diving into the specification of this number though.)

Nobody would :)

I could imagine a
more general matching rule useful which strips spaces and then conducts
numericStringMatch, caseIgnoreIA5Match etc.

Also I'd prefer a naming prefix slightly more verbose than 'cf' and
reflecting the use for Italy. Maybe something like 'itcodefisc' or similar?

Thanks for the suggestions. I'll take them into account.


Ing. Pierangelo Masarati OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Fax:     +39 0382 476497
Email:   ando@sys-net.it