Propri attributi openssl

1

C'è un modo per includere i miei attributi in un certificato openssl?

es ... Nome del paese (codice a 2 lettere) [GB]:

Nome stato o provincia (nome completo) [Stato]:

Nome località (es. città) [Città]:

Nome organizzazione (ad esempio, società) [La mia azienda Ltd]:

Nome dell'unità organizzativa (ad es. sezione) [Sezione]:

Nome comune (ad esempio, il tuo nome o il nome host del tuo server) []:

Altre informazioni (ad esempio, non so) []:

Extra Stuff2 (ad esempio, dunno2) []: .....

    
posta guest123 15.05.2014 - 22:19
fonte

2 risposte

2

Sì. Ci sono due opzioni: impostalo nella richiesta e assicurati che sia conservato al momento della firma (qualcosa a cui una CA commerciale non è incline a); o impostato esplicitamente durante la firma.

Il DN (nome distinto) è un campo singolo in una richiesta o certificato. È un nome X.500, quindi ha uno o più componenti di coppia attributo / valore tipizzato. Questo significato di "attributo" non è esattamente uguale a un "attributo" utilizzato in una richiesta, questa parte della documentazione spiega alcune delle distinzioni.

(C'è anche una distinzione tra X.509 attributi e estensioni , ecco la mia risposta che mostra come andare su aggiungere estensioni arbitrarie a un certificato al momento della firma, che potrebbe essere quello di cui hai bisogno se vuoi aggiungere qualcosa che non si trova nel DN.)

Se vuoi componenti extra nel nome soggetto (DN), allora è più semplice usa l'opzione -subj durante la generazione della richiesta o al momento della firma. Se i tipi non sono già noti a OpenSSL, puoi utilizzare gli OID direttamente o aggiungerli tramite oid_file o oid_section in openssl.cnf .

Si noti tuttavia che gli attributi ampiamente supportati in un DN sono limitati, vedere RFC 5280 §4.1. 2.4 (questi sono i vincoli per il campo Emittente , ma il §4.1.2.6 per il campo Oggetto fa riferimento a questo per i suoi requisiti).

Se desideri ricevere questi suggerimenti durante il normale processo openssl req , puoi aggiungerli a [ req_distinguished_name ] (dove diventeranno parte del DN) oa [ req_attributes ] (dove quindi diventerà un attributo extra nella richiesta, che è probabilmente meno utile per te). Esistono alcuni esempi nella documentazione di req e in documentazione estensioni .

    
risposta data 16.05.2014 - 15:56
fonte
1

I campi che stai elencando sono usati per comprendere l'Oggetto, quindi penso che ti stia chiedendo cosa ti è permesso di inserire in Oggetto campo. La risposta è, questo è un nome x.501, e ci sono tutti i tipi di cose che puoi mettere lì dentro. Non sono esperto, ma penso che puoi persino creare le tue cose e metterle lì se la codi correttamente e non calpestare gli OID esistenti.

Detto questo, non c'è alcuna garanzia che la CA conservi qualsiasi cosa tu metta lì quando firmano il tuo cert. Ad esempio, Startcom rimuove un numero di attributi del soggetto come O (Organizzazione) e OU (Unità organizzativa) prima della firma. RFC 5280 ha un sacco di discussioni su cosa deve essere accettato e su come le cose che non sono richieste devono essere tollerate, in un certificato.

    
risposta data 16.05.2014 - 02:23
fonte

Leggi altre domande sui tag