Domanda

Modifica: non ho risolto i miei problemi, ma sono passato a nuovi e più interessanti problemi.
Lasciare questo qui nel caso in cui qualcuno abbia e perspicace che aiuterà qualcuno che si imbatte in questa domanda in futuro.

Ciao,    Sto tentando di inviare un'e-mail crittografata da php a Outlook. Come tale, ho bisogno di generare un certificato per importare in Outlook. Non ho avuto problemi a generare un set di chiavi usando openssl e lo script CA.pl che ne deriva, ma quando provo ad eseguire il comando per generare il file PKCS12 da importare in Outlook si lamenta di una "demoCA" mancante. directory. Sembra che questa directory sia una parte di openssl, a cui fa riferimento nella configurazione di openssl ... ma non ho idea di dove sia. Ho cercato l'unità in molti modi da grep a spotlight (su os x, anche se non mi aspettavo davvero che Spotlight trovasse qualcosa) e non riesco a trovare nulla.

Il comando che stavo cercando di eseguire è:

$ openssl ca -cert newcert.pem -ss_cert newcert.pem
Using configuration from /sw/etc/ssl/openssl.cnf
./demoCA/private/cakey.pem: No such file or directory trying to load CA private key
19918:error:02001002:system library:fopen:No such file or directory:bss_file.c:245:fopen('./demoCA/private/cakey.pem','r')
19918:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:247:

Sono un po 'indecente quando si tratta di crittografia / SSL, quindi potrei perdere qualcosa di stupido (ne sono sicuro, ahah).

È stato utile?

Soluzione

Dovresti creare una nuova CA tramite lo script fornito, che è più semplice che gestire tutte le opzioni di openssl. Puoi farlo sia tramite openssl in bundle con Cygwin all'interno di Windows stesso sia usando la tua distribuzione Unix preferita. Ti mostrerò come farlo con gli script bash (ma gli script perl dovrebbero essere gli stessi).

$ ./CA.sh -newca

Questo crea una directory demoCA con al suo interno il certificato CA. Quando invochi il comando sopra, ti verrà richiesto di specificare i campi del certificato CA (CN, OU, ecc.) E la frase chiave della chiave privata CA.

Ora puoi creare richieste di certificati o certificati da richieste di certificati.

$ ./CA.sh -newreq

Questo richiede una nuova richiesta di certificato campi e la passphrase per crittografare la chiave privata generata. Per impostazione predefinita, la richiesta viene lasciata nella stessa directory di CA.sh (newreq.pem). È importante utilizzare come CN (nome comune) l'indirizzo e-mail che hai.

Ora devi solo firmarlo e hai un certificato completo.

$ ./CA.sh -sign

Questo genererà newcert.pem che è la richiesta di certificato firmata. Hai il tuo certificato, devi solo comprimere il certificato e la chiave privata all'interno di un file PFX o P12, riconosciuto da Microsoft CSP.

Quindi copia il contenuto di newreq.pem e newcert.pem in un file.

$ cat newreq.pem > keypair.pem
$ cat newcert.pem >> keypair.pem

E ora genera il file P12 per mezzo della shell openssl (questa volta non abbiamo l'aiuto di alcuno script). Ti verrà richiesta la passphrase utilizzata quando è stata generata la richiesta e quindi la password di esportazione (per crittografare la chiave privata all'interno del file p12).

$ openssl pkcs12 -export -in keypair.pem  -out mykeypair.p12
Enter pass phrase for keypair.pem:
Enter Export Password:
Verifying - Enter Export Password:

Et voil & # 224 ;. Hai un file PKCS # 12 su cui puoi fare doppio clic in Windows e importarlo nel tuo archivio chiavi e usarlo come certificato di firma della posta (non ricordo se le opzioni predefinite sono sufficienti o devi specificare alcuni attributi aggiuntivi quando crei il certificato in modo che Outlook venga riconosciuto come certificato di firma e-mail). Sarà inoltre necessario importare il certificato CA come CA attendibile (copiare cacert.pem in cacert.cer che si trova nella directory demoCA e fare doppio clic su di esso per importare).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top