OpenSSL automatisieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
dmant
Beiträge: 251
Registriert: 09.10.2017 10:28:29

OpenSSL automatisieren

Beitrag von dmant » 09.01.2018 11:19:13

Hallo,

Wofür OpenSSL ist ist ja bekannt, aber gibt es eine Option die das erstellen der Zertifikate automatisch macht und bestätigt? Also ich würde mir gerne ein kleines Script schreiben, z.b. create_vpnuser.sh und dort dann einen Ablauf haben wollen, also erstelle userid (random), erstelle zertifikat, packe zertifikat, key, ca zerti und ta.key in ein archiv, versende archiv per email. Ich komme da allerdings nicht weiter da ich immer bei den eingaben die OpenSSL möchte hängen bleibe. Also wie kann ich die Optionen wie common-name etc. direkt mit übergeben das keine Promt Eingabe stattfindet?

Danke

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: OpenSSL automatisieren

Beitrag von MSfree » 09.01.2018 14:31:29

OpenVPN liefert easy-rsa mit, mit dem man schon einiges halbwegs automatisiert erledigen kann, bequem ist das aber nur bedingt.

Ich habe mir daraus ein Skript gebastelt, das interaktiv mit einem simplen Menusystem Zertifikate erstellen kann. Bei Interesse kann ich dir die nötigen Dateien auf NoPaste hochladen, anpassen mußt du das aber noch selbst.

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: OpenSSL automatisieren

Beitrag von bluestar » 09.01.2018 15:54:26

dmant hat geschrieben: ↑ zum Beitrag ↑
09.01.2018 11:19:13
Also wie kann ich die Optionen wie common-name etc. direkt mit übergeben das keine Promt Eingabe stattfindet?
Also mein Script macht das in etwa so:

Code: Alles auswählen

(
echo "${COUNTRY}"
echo "${STATE}"
echo "${CITY}"
echo "${ORGANIZATION}"
echo "${SECTION}"
echo "${CERT_NAME}"
echo "${CERT_EMAIL}"
echo ""
echo ""
) | openssl req -nodes -config ./conf/openssl.cnf ${EXT} -newkey rsa:${USER_CERT_LENGTH} \
		-keyout "$CERT_KEY_FILE" -out "$CERT_REQ_FILE"


Antworten