Вы должны создать новый CA с помощью предоставленного скрипта, который проще, чем просто обрабатывать все опции openssl. Вы можете сделать это с помощью openssl в комплекте с Cygwin внутри самой Windows или использовать ваш любимый дистрибутив Unix. Я покажу вам, как это сделать с помощью сценариев bash (но сценарии perl должны быть такими же).
$ ./CA.sh -newca
Это создает каталог demoCA с сертификатом CA внутри. При вызове вышеупомянутой команды вы будете получать информацию о полях сертификата CA (CN, OU и т. Д.) И парольной фразы CA с секретным ключом.
Теперь вы можете создавать запросы сертификатов или сертификаты из запросов сертификатов.
$ ./CA.sh -newreq
Это запрашивает новые поля запроса сертификата и фразу-пароль для шифрования сгенерированного закрытого ключа. По умолчанию запрос остается в том же каталоге, что и CA.sh (newreq.pem). Важно, чтобы вы использовали в качестве CN (Common Name) адрес вашей электронной почты.
Теперь вам нужно только подписать его, и у вас есть полный сертификат.
$ ./CA.sh -sign
Это сгенерирует newcert.pem, который является подписанным запросом сертификата. У вас есть сертификат, вам нужно только упаковать сертификат и закрытый ключ в файл PFX или P12, который распознает Microsoft CSP.
Затем скопируйте содержимое newreq.pem и newcert.pem в файл.
$ cat newreq.pem > keypair.pem
$ cat newcert.pem >> keypair.pem
А теперь сгенерируйте файл P12 с помощью оболочки openssl (на этот раз нам не нужен ни один скрипт). Он запросит пароль, который вы использовали при создании запроса, а затем пароль экспорта (для шифрования закрытого ключа в файле 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à. У вас есть файл PKCS # 12, который вы можете дважды щелкнуть в Windows и импортировать его в хранилище ключей и использовать его в качестве сертификата подписи почты (я не помню, достаточно ли параметров по умолчанию или вам нужно указать некоторые дополнительные атрибуты при создании сертификат, так что Outlook распознает как сертификат подписи электронной почты). Вам также необходимо импортировать сертификат CA как доверенный CA (скопируйте cacert.pem в cacert.cer, который находится в каталоге demoCA, и дважды щелкните его для импорта).