Openssl kann Shellvariablen im der Konfigurationsdatei verarbeiten. Kommt dabei eine Fehlermeldung wie
openssl.exe version 6870300:error:0E065068:configuration file routines:STR_COPY:variable has no value:conf_def.c:618:line 19
liegt das daran, dass die Shellvariable nicht definiert ist.
Eine leere Variable dagegen ist aber OK.
Ich dachte schon einen Bug gefunden zu haben. Der Report dafür wurde aber nicht anerkannt, weil das Verhalten so gewünscht und dokumentiert ist.
Wie kommt man zum Fehler? Mit einer Config wie:
[req] promt=no distinguished_name=dn default_md=sha256 default_bits=2048 req_extensions=alt_names [dn] C=AT ST=NOe L=xxx O="org" OU="ou" E="test@example.com" [alt_names] subjectAltName=${ENV::SAN}
Wie repariert man es?
Indem man einen Default Wert in der Config setzt:
SAN="" [req] promt=no distinguished_name=dn default_md=sha256 default_bits=2048 req_extensions=alt_names [dn] C=AT ST=NOe L=xxx O="org" OU="ou" E="test@example.com" [alt_names] subjectAltName=${ENV::SAN}
Dokumentation, wenn auch leicht verwirrend findet man unter https://www.openssl.org/docs/man1.0.2/apps/config.html bzw. https://www.openssl.org/docs/manmaster/apps/config.html für die letzte Version.
Suchen auf der Seite nach Begrif „ENV“.
Schreibe einen Kommentar