Il Personal Data File
Come nella Carta Nazionale dei Servizi (C.N.S.) il file di dati personali
ha una struttura den defina e contiene i dati anagrafaci del cittadino.
La struttura del personal data file è riporta nel documento EF:
MF/DF1/EF.DatiPersonali reperibile dal sito istituzionalem diseguito una
breve sintesi.
| Dimensione del file
fissa (400 Bytes) |
Numero di Byte realmente utilizzati
(dimensione utile) dichiarati in testa al file |
|
La dimensione utile è indicata come
una stringa di sei caratteri ASCII che rappresenta la codifica esadecimale
della numero di byte dello spazio utile, allineata a destra, con
riempimento di zeri a sinistra
|
Nel conteggio della dimesione utile
NON si considerano anche i 6 byte della iniziali. |
I byte rimanenti nel file eccedenti
la dimesione utile vengono settati a 00h.
|
| Ad eccezione dei primi 6 bytes i rimanenti
rappresentano una serie di campi a lunghezza variabile |
Ogni campo è codificato con
un campo lunghezza (Len) ed un campo valore (Value)
Il campo Len consiste in una stringa di due caratteri ASCII che codifica
in esadecimale la lunghezza in byte del campo Value, allineata a destra,
con riempimento di zeri a sinistra.
|
Esempio: la lunghezza di un campo
Value di 10 caratteri verrà codificata con la stringa '0A'
Il campo Value viene codificato con una stringa ASCII |
I campi contenuti da byte in 7°
posizione in poi sono nell'ordine:
Codice Ente Emettitore (codice istat
del comune)
Data di emissione del documento
Data di scadenza del documento
Cognome
Nome
Data di Nascita
Sesso
Statura (cm)
Codice fiscale
Cittadinanza (codice internazione)
Comune di Nascita(codice istat del
comune)
Stato estero di Nascita
Estremi atto di nascita (codifica
dell'archivio del comune di nascita)
Comune di residenza al momento dell’emissione
(codice istat del comune)
Indirizzo di residenza completo
di numero civico
Eventuale annotazione in caso di
non validità del documento per l’espatrio |
Un esempio del contenuto del Personal Data File è
| 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
|
| 0 |
0 |
0 |
0 |
8 |
9 |
0 |
4 |
G |
7 |
1 |
| 0 |
2 |
0 |
8 |
2 |
0 |
0 |
6 |
0 |
7 |
2 |
| 0 |
7 |
0 |
8 |
2 |
0 |
1 |
1 |
0 |
7 |
3 |
| 0 |
6 |
0 |
A |
B |
O |
N |
U |
C |
C |
4 |
| E |
L |
L |
I |
0 |
4 |
L |
U |
C |
A |
5 |
| 0 |
8 |
1 |
9 |
7 |
5 |
0 |
8 |
1 |
1 |
6 |
| 0 |
1 |
M |
0 |
3 |
1 |
8 |
0 |
1 |
0 |
7 |
| B |
N |
C |
L |
C |
U |
7 |
5 |
M |
1 |
8 |
| 1 |
B |
9 |
5 |
0 |
T |
0 |
3 |
I |
T |
9 |
| A |
0 |
4 |
B |
9 |
5 |
0 |
0 |
0 |
0 |
10 |
| 9 |
3 |
3 |
0 |
s |
|
I |
|
|
A |
11 |
| 0 |
4 |
G |
7 |
0 |
2 |
1 |
6 |
V |
I |
12 |
| A |
|
L |
U |
I |
G |
I |
|
P |
E |
13 |
| R |
A |
|
2 |
|
5 |
6 |
1 |
2 |
4 |
14 |
| 0 |
1 |
S |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
15 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
16 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
17 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
18 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
19 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
20 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
21 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
22 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
23 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
24 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
25 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
26 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
27 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
28 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
29 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
30 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
31 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
32 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
33 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
34 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
35 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
36 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
37 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
38 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
39 |
| 00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
40 |
Per effettuare un parsing del file e ottenere le informazioni struttura
occorrerà per prima cosa determinare quanti bytes sono stati utilizzati
per memorizzare le informazioni.
L'informazione come sopra descritto si trova nei primi 6 bytes:
| 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
|
| 0 |
0 |
0 |
0 |
8 |
9 |
|
|
|
|
1 |
La stringa 000089 deve essere interpretata come la rappresentazione esadecimale
della lunghezza effetiva del file quindi 89h = 137.
Quindi 0ltre i primi 6 bytes devono essere considerati i seguenti 137
per un totale di 143.
Come previsto i bytes in posizione da 144 a 400 hanno valore 00h
I due byte successivi consistono della misura della lunghezza del primo
campo, sempre espressa in forma esadecimale, segue quindi il valore del
campo
In tabella seguente sono stati evidenziati i byte che indicano la dimensione
del campo e aggiunti commenti per facilitare la lettura.
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
0 |
|
| INTESTAZIONE
|
Ente emissione |
|
| 0 |
0 |
0 |
0 |
8 |
9 |
0 |
4 |
G |
7 |
1 |
|
Data
di emissione |
|
0 |
2 |
0 |
8 |
2 |
0 |
0 |
6 |
0 |
7 |
2 |
|
Data di scadenza |
|
0 |
7 |
0 |
8 |
2 |
0 |
1 |
1 |
0 |
7 |
3 |
|
Cognome
|
|
0 |
6 |
0 |
A |
B |
O |
N |
U |
C |
C |
4 |
|
Nome |
|
E |
L |
L |
I |
0 |
4 |
L |
U |
C |
A |
5 |
Data
di Nascita |
|
0 |
8 |
1 |
9 |
7 |
5 |
0 |
8 |
1 |
1 |
6 |
Sesso |
Altezza |
|
|
|
0 |
1 |
M |
0 |
3 |
1 |
8 |
0 |
1 |
0 |
7 |
Codice Fiscale |
|
B |
N |
C |
L |
C |
U |
7 |
5 |
M |
1 |
8 |
|
Cittadinaza |
|
1 |
B |
9 |
5 |
0 |
T |
0 |
3 |
I |
T |
9 |
|
Residenza |
Stato
Estero |
|
|
A |
0 |
4 |
B |
9 |
5 |
0 |
0 |
0 |
0 |
10 |
Atto di nascita |
|
|
9 |
3 |
3 |
0 |
s |
|
I |
|
|
A |
11 |
Comune
/ stato
Nascita |
Indirizzo |
|
|
0 |
4 |
G |
7 |
0 |
2 |
1 |
6 |
V |
I |
12 |
A |
|
X |
X |
X |
X |
X |
|
X |
X |
13 |
X |
X |
|
X |
|
X |
X |
X |
X |
X |
14 |
Note per l'espatrio |
Bytes
non utilizzati |
|
|
0 |
1 |
S |
00h |
00h |
00h |
00h |
00h |
00h |
00h |
15 |
Come si nota il personal data file non contiene in se garanzie di integrità
e non ripudiabilità.
Tali garanzie sono presenti nel certificato di autenticazione che contiene
nel Common Name sia il numero della carta di identità, sia l'hash
del personal data file.
|