10 Manuale - Varie

10.1 Il comando asn1parse

Nome

asn1parse - strumento per analizzare ASN.1

Sintassi

openssl asn1parse [-inform PEM/DER][-in filename][-out filename][-noout][-offset number] [-lenght number][-i][-oid filename][-strparse offset]

Descrizione

Il comando asn1parse è una utility di diagnostica che può analizzare le strutture ASN.1. Essa può anche essere usata per estrarre i dati dai Dati Formattati ASN.1

Opzioni del Comando

Output

L'output conterrà tipicamente linee come queste:

0:d=0 hl=4 1=681 cons:SEQUENZA
??
229:d=3 hl=3 1=141 prim: BIT STRING
373:d=2 hl=3 1=162 cons: cont[3]
376:d=3 hl=3 1=159 cons: SEQUENZA
379:d=4 hl=2 1=29 cons: SEQUENZA
381:d=5 hl=2 1=3 prim: OBJECT:X509v3 Identificatore della chiave Soggetto
386:d=5 hl=2 1=22 prim: OTTAVA STRINGA
410:d=4 hl=2 1=112 cons: SEQUENZA
412:d=5 hl=2 1=3 prim: OBJECT:X509v2 Identificatore delle chiavi delle Autorità
417:d=5 hl=2 1=105 prim: OTTAVA STRINGA
524:d=4 hl=2 1=12 cons: SEQUENZA
????

Quest'esempio è parte di un certificato self-signed. Ogni linea comincia con l'offset in decimale.

L'opzione -i può essere usata per creare un output più leggibile.
Per interpretare l'output sono necessarie alcune conoscenze sulla struttura ASN.1.
In questo esempio il BIT STRING all'offset 229 è la chiave publica del certificato.
Gli otto versi contenuti conterranno le informazioni sulla chiave pubblica. Questo può essere esaminato usando l'opzione –strparse 229 per produrre:

>
0:d=0 hl=1 l=137 cons:SEQUENZA
3:d=1 hl=3 l=129 prim: INTERO
:E5D21E1F5C8D208EA7A2166C7FAF9F6BDF2059669C60876DDB70840
F1A5AAFA59699FE471F379F1DD6A487E7D5409AB6A88D4A9746E24B9
1D8CF55DB352105460C8EDE44EE8A4189F7A7BE77D6CD3A9AF2696F4
86855CF58BF0EDF2B4068058C7A947F52548DDF7E15E96B385F86422B
EA9064A3EE9E115A56E4A6F47E5897
135:d=1 hl=2 l=3 prim: INTERI :010001

Note

Se un OID non è parte della tavola interna dell'OpenSSL, esso sarà rappresentato in una forma numerica (per esempio 1.2.3.4).
Il file passato all'opzione -oid permette di includere degli OIDs addizionali.
Ogni linea del file è formata da tre colonne, la prima colonna è l'OID in un formato numerico e dovrebbe essere seguito da uno spazio bianco.
La seconda colonna è lo “short name”, che è formato da una singola parola, seguito da uno spazio bianco.
La colonna finale è il resto della linea ed è il “long name”.
asn1parse visualizza il long name.
La seguente è un esempio di riga del file suddetto.

1.2.3.4shortNameA long name

Bugs

Ci dovrebbero essere delle opzioni per cambiare il formato delle linee di input. L'output di alcuni tipi ASN.1 non è ben trattato.

10.2 Il comando passwd

Nome

passwd - calcola i valori hash delle password.

Sintassi

openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin] [-noverify] [-quiet] [-table] {password}

Descrizione

Il comando passwd calcola il valore hash di una password inserita a tempo di esecuzione o di ognuna delle password di una lista. La lista delle password viene prelevata da un file se è indicato nell'opzione -in, dallo standard input se è usata l’opzione -stdin, o dalla linea di comando o dal terminale. Sono disponibili l'algoritmo di cifratura standard Unix e l'algoritmo 1 per le password BSD MD5-based e la sua variante Apache apr1.

Opzioni

Esempi

1) Il seguente comando stampa xxj31ZMTZzkVA.

2) Il seguente comando stampa $1$xxxxxxxx$8XJIc16ZXqBMCK0qFevqT1.

3) Il seguente comando stampa $apr1$xxxxxxxx$dxHfLAsjHkDRmG83Uxe8K0.

10.3 Il comando pkcs7

Nome

pkcs7 - utility PKCS#7.

Sintassi

openssl pkcs7 [-inform PEM | DER] [-outform PEM | DER] [-in filename] [-out filename] [-print_certs] [-text] [-noout]

Descrizione

Il comando pkcs7 processa file PKCS#7 in formato DER o PEM

Opzioni del Comando

Esempi

1) Converte un file PKCS#7 da formato PEM a DER:

2) Stampa tutti i certificati in un file:

Note

Il formato PEM PKCS#7 usa le seguenti linee di intestazione e chiusura:

Per compatibilità con alcune CA vengono anche accettate le seguenti linee:

Restrizioni

Non ci sono opzioni per stampare tutti i campi di un file PKCS#7.

Questa routine PKCS#7 conosce solo PKCS#7 versione 1.5 come specificato in RFC2315. Essa non può comprendere, ad esempio, il nuovo CMS come descritto in RFC2630.

10.4 Il comando rand

Nome

rand -– genera bytes pseudo-casuali.

Sintassi

openssl rand [-out file] [-rand file(s)] [-base64] num

Descrizione

Il comando rand fornisce in output num bytes pseudo-casuali dopo aver inizializzato il generatore di numeri casuali. Come in altre linee di comando di openssl, l'inizializzazione PRNG usa il file $HOME/.rnd o .rnd in aggiunta al file dato dall'opzione -rand. Un nuovo file .rnd o /HOME.rnd sarà scritto se le sorgenti non bastano per l'inizializzazione.

Opzioni del Comando

Vedi Anche

RAND_bytes(3).

10.5 Il comando speed

Nome

Speed - testa la performance della libreria

Sintassi

openssl speed [-engine id] [md2] [mdc2] [md5] [hmac] [sha1] [rmd160] [idea-cbc] [rc2-cbc] [rc5-cbc] [bf-cbc] [des-cbc] [des-ede3] [rc4] [rsa512] [rsa1024] [rsa2048] [rsa4096] [dsa512] [dsa1024] [dsa2048] [idea] [rc2] [des] [rsa] [blowfish]

Descrizione

Questo comando è usato per testare le performance degli algoritmi crittografici.

Opzioni del Comando