telephoneNumber è ciò che stai cercando.
Aggiungi quanto segue a openssl.cnf; Ho usato la versione del sistema Ubuntu 14 per iniziare, i nomi delle sezioni possono variare a seconda della distribuzione:
Nelle sezioni policy_match e policy_anything (probabilmente policy_ * in qualunque openssl.cnf stai usando come modello):
telephoneNumber = optional
Nella sezione req_distinguished_name:
telephoneNumber = Telephone Number
telephoneNumber_min = 11
telephoneNumber_max = 40
Quindi generare una chiave e una CSR come di consueto. I prompt interattivi ora includono un numero di telefono:
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Massachusetts
Locality Name (eg, city) []:Boston
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:www.example.com
Email Address []:[email protected]
Telephone Number []:617-555-1234
E puoi verificare che il numero di telefono lo faccia nel certificato:
$ openssl x509 -in certificate.crt -text -noout | grep Subject:
Subject: C=US, ST=Massachusetts, L=Boston, O=Internet Widgits Pty Ltd, CN=www.example.com/[email protected]/telephoneNumber=617-555-1234
$
Alcuni riferimenti su come ho capito:
RFC 5280 dice che
Standard sets of attributes have been defined in the X.500 series of
specifications [X.520].
Un po 'di googling mi ha portato a Norme di denominazione e strutturazione per X.500 (RFC 1617) che ha sezione "4.4.7 Attributi Telecom". Non ci sono molte informazioni lì, ma lo stato numero di telefono. Così ho cercato su Google insieme a openssl.cnf e ho trovato un esempio di file openssl.cnf che incorpora il numero di telefono . Da lì è stato semplice testare i parametri necessari sul mio sistema.
Infine, sapendo che PhoneNumber è una cosa valida, è stato possibile a Google "site: openssl.org telephoneNumber" e codice sorgente per obj_mac.h ha quello insieme a facsimileTelephoneNumber, homeTelephoneNumber, mobileTelephoneNumber e pagerTelephoneNumber. (Personalmente, penso che se stai inserendo solo un numero, dovresti essere generale ("telephoneNumber") piuttosto che pedante ("mobileTelephoneNumber"), quindi è quello che ho usato sopra).