Qualcuno potrebbe avere un esempio di un certificato X.509 codificato XER, quindi posso giocarci?
Grazie!
X.509 afferma che i certificati utilizzano la codifica DER:
For signature calculation, the data that is to be signed is encoded using the ASN.1 distinguished encoding rules (DER)
Personalmente, potrebbe immaginare di codificare i dati del certificato in XER e che la codifica DER della struttura da firmare ( TBSCertificate
) viene eseguita dinamicamente per scopi di calcolo o verificando la firma, ma nessuno lo fa perché:
Sarebbe molto difficile da fare, perché anche se DER è in posizione deterministica, ci sono molti dettagli che possono sbagliare (usi UTCTime
o GeneralizedTime
per le date di validità? gestisci i millisecondi nella rappresentazione della data? Per i componenti DN, usi PrintableString
, BMPString
, UTF8String
? Quale tipo di decomposizione Unicode usi per segni diacritici? E così via). Non sarebbe affidabile.
La codifica XML è terribilmente inefficiente, sia nello spazio (utilizza molti byte, anche se confrontata con DER codificata Base64) che nella CPU (che può essere un problema difficile con piattaforme ridotte come le smart card).
I certificati riguardano l'interoperabilità e nessuno supporta i certificati con codifica XER, quindi non c'è alcun valore aggiunto nel supportarli in questo momento. Non c'è alcun incentivo: ciò che XML può portare (rispetto a DER) è il supporto automatico di trasformazioni di dati generici (XPath, XSLT ... tu lo chiami), ma questo è il tipo di cosa che non vogliamo fare con i certificati, perché un certificato è firmato e non puoi cambiarne un solo bit senza invalidare la firma.
Se vuoi giocare con le firme sui dati XML, cerca XML-DSig . È interessante notare che quando un oggetto XML-DSig incorpora un certificato (come elemento X509Certificate
), utilizza la codifica Base64 del certificato binario (cioè certificato DER-codificato) (vedere la sezione 4.4.4).
Riepilogo: non esiste un certificato "standard" codificato XER e prevedo che ci vorrà un po 'di tempo prima che una cosa del genere appaia (e io prego tutti gli dei che io sappia che non accadrà prima di andare in pensione).
Leggi altre domande sui tag public-key-infrastructure tls certificates