Creazione di un certificato digitale con OpenSSL

()

Come funziona un Certificato SSL

Il Certificato SSL (SSL è l’acronimo di Secure Socket Layer) è lo strumento che permette una connessione sicura tra browser web e sito web durante lo scambio di dati in rete.

La presenza di un Certificato SSL impedisce che dati sensibili, informazioni personali o numeri di carte di credito possano essere intercettati da terze parti con lo scopo di portare avanti attività di sniffing o spionaggio tramite attacchi man-in-the middle. Il protocollo SSL garantisce infatti la trasmissione sicura dei dati in rete, grazie alla crittografia delle informazioni.

Perché è importante creare un Certificato SSL

La connessione protetta fornita da un certificato digitale è indispensabile per chi vuole tenere al sicuro i dati sensibili (informazioni personali, estremi di metodo di pagamento, ecc.) dei propri clienti, come nel caso di e-commerce, istituti bancari e social network.

Grazie alla presenza di Certificato SSL puoi inoltre migliorare la reputazione online del tuo sito, ottenere un migliore posizionamento sui diversi motori di ricerca (Google infatti tende a prediligere i siti con Certificato SSL attivo) e usufruire di tutte le funzionalità dei social network senza alcun ostacolo. Facebook, ad esempio, richiede obbligatoriamente l’utilizzo di connessioni HTTPS per gestire applicazioni esterne e tab personalizzate.

Creazione di un certificato digitale con OpenSSL

Il programma OpenSSL consente di creare certificati digitali da utilizzare con i test.

Prima di iniziare

OpenSSL è disponibile presso OpenSSL Project all’indirizzo http://www.openssl.org/.

Procedura

  1. Creare un’autorità di certificazione (CA). Ai fini dell’esecuzione di test, questa CA sostituisce una CA riconosciuta su Internet, come VeriSign. Utilizzare questa CA per firmare in maniera digitale ciascun certificato che si desidera utilizzare per l’esecuzione del test.
    1. Creare un file di richiesta certificati (CSR). Il “soggetto” (-subj) descrive l’utente del certificato. Immettere valori fittizi come mostrati. La seguente riga comandi imposta la password per il certificato su abcdefg.openssl req -passout pass:abcdefg -subj "/C=US/ST=IL/L=Chicago/O=IBM Corporation/OU=IBM Software Group/CN=Rational Performance Tester CA/[email protected]" -new > waipio.ca.cert.csr
    2. Creare un file di chiavi, waipio.ca.key, per memorizzare la chiave privata. Viene rimossa la protezione da password dal file di richiesta certificati in modo tale che non occorre digitare la password ogni qual volta che viene firmato un certificato. A causa della rimozione della protezione da password, utilizzare il file di richiesta certificati solo per scopi di test.openssl rsa -passin pass:abcdefg -in privkey.pem -out waipio.ca.key
    3. Creare un certificato digitale X.509 dalla richiesta del certificato. La seguente riga comandi crea un certificato firmato con la chiave privata CA. Il certificato è valido per 365 giorni.openssl x509 -in waipio.ca.cert.csr -out waipio.ca.cert -req -signkey waipio.ca.key -days 365
    4. Creare un file con codifica PKCS#12 che contiene la chiave privata e il certificato. La seguente riga comandi imposta la password sul file P12 su default. Per impostazione predefinita, Rational Performance Tester utilizza la password default per tutti i file PKCS#12.openssl pkcs12 -passout pass:default -export -nokeys -cacerts -in waipio.ca.cert -out waipio.ca.cert.p12 -inkey waipio.ca.key
    È disponibile un certificato CA (waipio.ca.cert), che è possibile installare sul server web in fase di test e un file di chiave privata (waipio.ca.key) che è possibile utilizzare per firmare i certificati dell’utente.
  2. Creare un certificato digitale per un utente.
    1. Creare un file CSR per l’utente. Impostare la password iniziale su abc. In alternativa, fornire un oggetto appropriato.openssl req -passout pass:abc -subj "/C=US/ST=IL/L=Chicago/O=IBM Corporation/OU=IBM Software Group/CN=John Smith/[email protected]" -new > johnsmith.cert.csr
    2. Creare un file di chiave privata senza una password.openssl rsa -passin pass:abc -in privkey.pem -out johnsmith.key
    3. Creare un nuovo certificato X.509 per il nuovo utente, firmarlo in maniera digitale utilizzando la chiave privata dell’utente e certificarlo mediante la chiave privata CA. La seguente riga comandi crea un certificato valido per 365 giorni.openssl x509 -req -in johnsmith.cert.csr -out johnsmith.cert -signkey johnsmith.key -CA waipio.ca.cert -CAkey waipio.ca.key -CAcreateserial -days 365
    4. Opzionale: Creare una versione codificata DER della chiave pubblica. Questo file contiene solo la chiave pubblica e non quella privata. Poiché non contiene la chiave privata, è possibile condividerla e non occorre la protezione da password.openssl x509 -in johnsmith.cert -out johnsmith.cert.der -outform DER
    5. Creare un file codificato PKCS#12. La seguente riga comandi imposta la password sul file P12 su default.openssl pkcs12 -passout pass:default -export -in johnsmith.cert -out johnsmith.cert.p12 -inkey johnsmith.key
    Ripetere questa fase per creare il maggior numero possibile di certificati digitali richiesti per l’esecuzione del test. Conservare i file di chiave ed eliminarli laddove non siano più necessari. Non eliminare il file della chiave privata CA. Occorre il file della chiave privata CA per firmare i certificati.

Risultati

Quindi, è possibile installare il certificato CA (waipio.ca.cert) in WebSphere. In alternativa, creare un certificato dell’utente per il server Web e installarlo in WebSphere.

Per registrare i test è possibile utilizzare i certificati dell’utente in modo individuale. Per utilizzare i certificati dell’utente (johnsmith.cert.p12) durante la riproduzione e la modifica di test, comprimerli nel formato ZIP in un file con estensione .rcs. Viene creato un archivio di certificati digitali. Per ulteriori informazioni sugli archivi di certificati digitali, consultare Creazione di un archivio di certificati digitali. È anche possibile importare i certificati dell’utente nel browser web per eseguire il test in modo interattivo nell’ambiente.

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?