Guida generale a openssl

Descrizione dei comandi principali del comando openssl
Data: 03/07/2012 Autore: Iasparra Francesco 

Il file openssl.cnf, che si trova nella directory /etc/ssl/ contiene la configurazione di openssl.

E' importante osservare che le sezioni sono organizzate in modo gerarchico, a partire dai nomi dei comandi di OpenSSL. In pratica, per il comando openssl req si prende in considerazione la sezione [ req ], che poi può a sua volta richiamare altre sottosezioni.

Per la configurazione della CA e' contenuta nella sezione [ ca ] che contiene una sola direttiva, default_ca, con la quale si specifica la sottosezione da prendere in considerazione. In questo caso, la sottosezione è denominata [ CA_default ].

Esempio:
[ ca ]
default_ca      = CA_default            # The default ca section

[ CA_default ]
dir             = ./demoCA              # Where everything is kept
certs           = $dir/certs            # Where the issued certs are kept
crl_dir         = $dir/crl              # Where the issued crl are kept
database        = $dir/index.txt        # database index file.
new_certs_dir   = $dir/newcerts         # default place for new certs.

certificate     = $dir/cacert.pem       # The CA certificate
serial          = $dir/serial           # The current serial number
crl             = $dir/crl.pem          # The current CRL
private_key     = $dir/private/cakey.pem# The private key
RANDFILE        = $dir/private/.rand    # private random number file

E' bene osservare che con la direttiva dir viene definita una variabile, che poi viene presa in considerazione di nuovo, espandendola con l'aggiunta del prefisso $ ($dir), nei valori da assegnare ad altre variabili.

Creazione

La creazione di un'autorità di certificazione autonoma, ovvero di un'autorità principale (root), che non abbia ottenuto a sua volta un certificato da un'autorità di livello superiore, deve realizzare la sua chiave privata e il suo certificato auto-firmato. Diversamente, se dipendesse dalla certificazione di un'altra autorità, dovrebbe predisporre la propria richiesta, sottoporla all'autorità superiore da cui dovrebbe ottenere il certificato.

openssl genrsa -des3 -out ./demoCA/private/cakey.pem 
openssl req -new -x509 -days 730 -key ./demoCA/private/cakey.pem -out ./demoCA/cacert.pem

Il certificato appena creato, in quanto tale, va conservato anche nella directory destinata a contenere la copia di quelli rilasciati in futuro in qualità di autorità di certificazione.

Dal pezzo di configurazione mostrato in precedenza, la directory in questione è ./demoCA/certs/. Questi file devono avere un nome che inizia con il loro numero di serie; dal momento che il numero del certificato dell'autorità stessa è il numero zero, il file deve chiamarsi obbligatoriamente ./demoCA/certs/00.pem:

cp ./demoCA/cacert.pem ./demoCA/certs/00.pem

Inoltre, i file in quella directory devono essere abbinati, ognuno, a un collegamento simbolico che esprime il codice di controllo del file stesso, più l'estensione .0:

cd ./demoCA/certs[Invio]
ln -s 00.pem `openssl x509 -hash -noout -in 00.pem`.0


  • Java
  • Php
  • Mysql
  • Apache ant
  • Eclipse
  • Spring
  • Hibernate
  • Netbeans
  • Debian
  • Linux
  • Maven

by Iasparra Francesco - © Copyright 2021

E' vietata la riproduzione anche parziale dei materiali presenti in questo sito.

I marchi e le immagini esposti sono Copyright dei rispettivi proprietari.