Im Grunde habe ich nicht unbedingt herausgefunden, wie man das Problem mit OpenSSL lösen kann, aber ich habe festgestellt, dass GnuTLS zur Verwendung des Zertifikats auf eine Art und Weise auffordert, die einfach zu handhaben ist.
Ich generiere die Stammzertifizierungsstelle wie folgt:
certtool --generate-privkey --bits 4096 --outfile ca.key certtool --generate-self-signed --load-privkey ca.key --template ca.vars --outfile ca.crt
Wo meine ca.vars aussehen:
organization = [Company Name] unit = [Org Unit] locality = [City] state = [State] country = [Country Code] challenge_password = [password] password = [password] expiration_days = 1825 serial = 1 ca cert_signing_key crl_signing_key cn = '[Company Name] Root CA 000001'
HINWEIS: Das Passwort ist in der ca.vars-Datei aufgeführt, die nicht sicher ist. Bei meiner Implementierung generiert ein Skript jedoch die vars-Datei und löscht sie dann mit dem srm-Löschwerkzeug. Wenn Sie keine Skripts zum Generieren Ihrer VARS-Dateien verwenden, lassen Sie einfach die Zeilen Kennwort und Herausforderung_Kennwort aus. Sie werden aufgefordert.
Dann die Zwischen-CAs wie folgt:
certtool --generate-privkey --bits 4096 --outfile ia.key certtool --generate-request --template ia.vars --load-privkey ia.key --outfile ia.csr certtool --generate-certificate --template ia.vars --load-request ia.csr --load-ca-certificate ca.crt --load-ca-privkey ca.key --outfile ia.crt
Der Unterschied zwischen ca.vars und ia.vars besteht darin, dass ich die Verfallszeit auf 365 gesetzt habe und die folgende Zeile hinzufüge:
path_len = 1
Von dort kann ich das obige Skript mit openssl und den Zertifizierungsstellen ia_ [sign / encrypt] verwenden, um x509-Zertifikate zu generieren, die ich in Outlook mit Office 365 zum Signieren / Verschlüsseln von E-Mails verwenden kann. Ich werde es noch einmal als Referenz einfügen:
openssl genrsa -aes128 -out email.key 2048 openssl req -new -key email.key -out email.csr openssl x509 -req -days 365 -in email.csr -CA ia.crt -CAkey ia.key -CAcreateserial -out email.crt openssl pkcs12 -export -in email.crt -inkey email.key -out email.pfx openssl x509 -in email.crt -serial -noout >> email.meta openssl x509 -in email.crt -fingerprint -noout >> email.meta
Hoffe, das hilft jemandem außer mir! :)