Überprüfen Sie das Client-Zertifikat mithilfe von SSLServer in Ruby

8

Hier ist der Code, den ich benutze, um den Server einzurichten:

%Vor%

Und der Kunde:

%Vor%

Der Server löst jedoch eine Ausnahme aus, wenn er versucht, den peer_cert zu erhalten, den er nicht finden kann. Gibt es eine Möglichkeit, den SSLServer dazu zu bringen, ein Client-Zertifikat zu erwarten?

    
chrisbdaemon 12.10.2011, 04:56
quelle

1 Antwort

7

Sehen Sie sich test_client_auth und start_server in den Tests für OpenSSL::SSL .

Von meinem Kopf her ist das einzige, was ich in Ihrem Code vermisse, dass Sie vergessen haben, die Client-Authentifizierung auf der Serverseite explizit zu fordern - es ist wichtig, die Flag-Kombination zu setzen

%Vor%

, damit der Server Clientauthentifizierung erfordert und nicht automatisch Anfragen akzeptiert, die nicht authentifiziert werden. Wenn Sie diese nicht festlegen, wird der Server zufrieden sein, ohne die Clientauthentifizierung anzufordern. Daher ist auch kein Peerzertifikat verfügbar.

    
emboss 12.10.2011, 05:32
quelle

Tags und Links