Dateiübertragung zum WebDav mit Client Zertifikat und Authentifizierung

Um eine Datei auf einen WebDav zu übertragen kann man das Toole „curl“ verwenden.

Zuerst wird „curl“ auf Ubuntu installiert.

sudo apt install curl

Jetzt kann man dem Upload auf WebDav durchführen.

curl -T <filename> -u <username>:<password> <url>

Braucht man für die Verbindung zu dem WebDav Server ein Client Zertifikat, dann muss man Curl das Zertifikat mitteilen.

Liegt das Zertifikat im PKCS12 Format (Dateiendung .p12 oder .pfx) vor, muss es zuerst mit OpenSSL umgewandelt werden.

openssl pkcs12 -in cert.p12 -out cert.pem -clcerts  
Enter Import Password: ********
## enter the password used to protect the private key)  
MAC verified OK  
Enter PEM pass phrase: **********
## enter your pass phrase to protect the private key in the new cert.pem file
Verifying - Enter PEM pass phrase: **********

Das PEM Passwort für das Zertifikat sollte mindestens 6 Zeichen lang sein.

Die Prüfung der Zertifikatskette kann man mit dem –insecure Parameter abschalten.

/usr/bin/curl \
 --insecure --cert <certificate>:<password> \
 -u <username>:<password> \
 -T <filename> <url>

Beispiel:

/usr/bin/curl \
 --insecure --cert 'cert.pem:zpw123' \
 -u user:password \
 -T filename.txt http://server/

In dem Beispiel verwenden wird als Zertifikat Passwort zpw123. Nicht zu verwechseln mit dem Passwort für den WebDav Server.