PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Openvpn Zertifikat sperren



Fly
24.02.06, 11:16
Hallo!

Ich sollte einem User den Zugriff unterbinden. Jetzt versuche ich mit meinem Zertifikat und ich scheitere schon an CA Zertifikat bzw. Key, da diese nicht übereinstimmen. Ich kapier nicht, wie das passieren kann... :confused: Kann mir jemand tipps geben?




fw92:/etc/openssl # openssl ca -revoke certs/flycert.pem
Using configuration from /etc/ssl/openssl.cnf
27890:error:0E06D06C:configuration file routines:NCONF_get_string:no value:conf_lib.c:329:group=CA_default name=unique_subject
Enter pass phrase for /etc/openssl/private/my-cakey.pem:
CA certificate and CA private key do not match
27890:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:x509_cmp.c:389:
Speicherzugriffsfehler

bla!zilla
24.02.06, 12:11
Fehler steht doch da:

Enter pass phrase for /etc/openssl/private/my-cakey.pem:
CA certificate and CA private key do not match

Sieht irgendwie übel aus. Ist das my-cakey.pem denn das richtige Zertifikat? Stimmt die openssl.cnf?

Fly
24.02.06, 14:28
Na, hab schon rausgefunden, dass ich die my-cakey.pem mit serverkey.pem verwechselt habe...:rolleyes:

Irgendwie läuft das ganze nicht reibungslos...

Wenn ich eine Zertifikat für ungültig erkläre, wie ich nach folgendem Link (http://linuxforen.de/forums/showthread.php?t=201775)gemacht habe bzw. einen crl-verify /etc/openvpn/crl/crl.pem Eintrag in den server.conf mache,klappt keine VPN Verbindung mit gültigen sowohl mit ungültigen Zertifikaten.



Feb 24 15:01:46 fw92 openvpn[28405]: xx.xx.xx.xx:22579 Local Options hash (VER=V4): '8114d01c'
Feb 24 15:01:46 fw92 openvpn[28405]: xx.xx.xx.xx:22579 Expected Remote Options hash (VER=V4): '2dd3fcaf'
Feb 24 15:01:46 fw92 openvpn[28405]: xx.xx.xx.xx:22579 TLS: Initial packet from xx.xx.xx.xx:22579, sid=3aaaf551 b1a98410
Feb 24 15:01:47 fw92 openvpn[28405]: xx.xx.xx.xx:22579 CRL CHECK OK: /C=AT/ST=No/L=No/O=organisation/CN=my-ca
Feb 24 15:01:47 fw92 openvpn[28405]: xx.xx.xx.xx:22579 VERIFY OK: depth=1, /C=AT/ST=No/L=No/O=organisation/CN=my-ca
Feb 24 15:01:47 fw92 openvpn[28405]: xx.xx.xx.xx:22579 CRL CHECK FAILED: /C=AT/ST=Some-State/O=Internet_Widgits_Pty_Ltd is REVOKED
Feb 24 15:01:47 fw92 openvpn[28405]: xx.xx.xx.xx:22579 TLS_ERROR: BIO read tls_read_plaintext error: error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:no certificate returned
Feb 24 15:01:47 fw92 openvpn[28405]: xx.xx.xx.xx:22579 TLS Error: TLS object -> incoming plaintext read error
Feb 24 15:01:47 fw92 openvpn[28405]: xx.xx.xx.xx:22579 TLS Error: TLS handshake failed
Feb 24 15:01:47 fw92 openvpn[28405]: xx.xx.xx.xx:22579 SIGUSR1[soft,tls-error] received, client-instance restarting


Interessant ist warum auch die "gültigen Zertifikate auf REVOKED gesetzt werden...

bla!zilla
24.02.06, 16:00
Du hast es also so (http://openvpn.net/howto.html#revoke) versucht? Wenn er auch andere Zertifikate revoked hat, dann ist da was quer gelaufen. Hast du die Zertifikate mit Hilfe der easy-ca erstellt (müsstest du ja eigentlich, wegen crl-verify).

Fly
25.02.06, 12:31
Ja, ich habe es nach der openvpn Howto versucht. Die Zertifikaten habe ich nach dem HowTo wie im C´t beschrieben oder hier (http://www.vpnforum.de/viewtopic.php?t=483)werden auch ganz genau, wie ich gemacht habe, die Zertifikate erstellt...

bla!zilla
25.02.06, 14:23
Also ich habe das gerade mal bei mir getestet und es hat problemlos geklappt. Ein "./revoke-all client2" bringt mir ein "error 23 at 0 depth lookup:certificate revoked" und damit is alles klar. Zu deinem Logauszug: Das CA Zertifikat ist ja auch gültig, das von dir für ungültig erklärte Zertifikat ist ungültig.

Liegt die aktuelle crl.pem bei dir unter /etc/openvpn und ist world-readable?

Fly
26.02.06, 11:29
Irgendwie komme ich mit dem revoke-full skript nicht zurecht...

wenn ich ein ./revoke-full flycert.pem im Verzeichnis /etc/openssl ausführe kommt folgendes:



./revoke-full: line 29: 424 Speicherzugriffsfehler openssl ca -gencrl -out $CRL -config $KEY_CONFIG
cat: ca.crt: Datei oder Verzeichnis nicht gefunden
cat: crl.pem: Datei oder Verzeichnis nicht gefunden
Error loading file revoke-test.pem
usage: verify [-verbose] [-CApath path] [-CAfile file] [-purpose purpose] [-crl_check] [-engine e] cert1 cert2 ...
recognized usages:
sslclient SSL client
sslserver SSL server
nssslserver Netscape SSL server
smimesign S/MIME signing
smimeencrypt S/MIME encryption
crlsign CRL signing
any Any Purpose
ocsphelper OCSP helper

Warum sucht das Skript nach ca.crt bzw. crl.pem Dateien? Woher kommen die Vairablen in der Prozessumgebung?

bla!zilla
26.02.06, 11:49
Öhm... kurze Frage: Wir reden aber beide von der easy-ca die bei OpenVPN dabei ist, oder? Mit dieser habe ich meine Zertifikate erstellt. Die liegen in einem Unterverzeichnis namens "keys". Bevor ich da irgendwas machen kann, muss ich "source ./vars" in dem Verzeichnis der easy-ca ausführen. Danach kann ich problemlos "revoke-full $ZERTIFIKAT" ausführen.

Fly
26.02.06, 14:46
Öhm... kurze Frage: Wir reden aber beide von der easy-ca die bei OpenVPN dabei ist, oder? Mit dieser habe ich meine Zertifikate erstellt. Die liegen in einem Unterverzeichnis namens "keys". Bevor ich da irgendwas machen kann, muss ich "source ./vars" in dem Verzeichnis der easy-ca ausführen. Danach kann ich problemlos "revoke-full $ZERTIFIKAT" ausführen.

Ne, ich habe die Zertifikate nicht mit easy-ca Skripts erzeugt... Ich weiss auch nicht, wie die easy-ca die Zertifikate erstellt... Weiter oben habe ich die Howtos genannt, nachdem ich gemacht habe.

bla!zilla
26.02.06, 15:06
Die easy-ca besteht einfach nur aus Skripten die pkitool aufrufen. Woher hast du denn das ./revoke-full Skript?

Fly
26.02.06, 15:21
Die easy-ca besteht einfach nur aus Skripten die pkitool aufrufen. Woher hast du denn das ./revoke-full Skript?

Die easy-ca Skripten sind fast immer bei openvpn Installationen dabei. Ich bin jetzt dabei auf einem Testsystem die Zertifikaten mit easy-ca zu erstellen. Dort sehe ich auch, dass die Vairablen für die gesamten easy-ca Skripten von dem Skript vars kommen :rolleyes: Das wird der einzige Ausweg sein, wo der Hund begraben liegt...

bla!zilla
26.02.06, 15:29
Na ja, du kannst ja schlecht mit openssl Zertifikate erstellen und die dann mit dem revoke-full Skript aus der easy-ca für ungültig erklären. :)