Ich habe ein selbstsigniertes SSL-Zertifikat erstellt und einem Kunden übergeben. Jedes Mal, wenn der Client eine REST-Anforderung sendet, führe ich eine Clientzertifikatauthentifizierung auf dem Server durch. Ich muss Daten des Zertifikats im Java-Code erhalten. Wie mache ich das? Ich habe Jersey-Rahmen verwendet.Wie erhält man das Client-Zertifikat in einer HTTP-Anfrage?
0
A
Antwort
0
Sie können @Context Annotation zum Extrahieren von HttpServletRequest verwenden.
@POST
@Path("/getHelloWorld")
@Consumes(MediaType.APPLICATION_JSON)
public String helloWorld(@Context HttpServletRequest httpRequest) {
X509Certificate[] certs = (X509Certificate[]) httpRequest.getAttribute("javax.servlet.request.X509Certificate");
if (null != certs && certs.length > 0) {
return <<YOUR CODE HERE>>;
}
return <<YOUR CODE HERE>>;
}
Es wird davon ausgegangen, dass Sie die Client-Authentifizierung auf Ihrem Webserver aktiviert hätten. Für den Tomcat-Server
< Connector SSLEnabled="true" acceptCount="100" clientAuth="true"
disableUploadTimeout="true" enableLookups="false" maxThreads="25"
port="8443" keystoreFile="conf/keystore.jks" keystorePass="changeit"
truststoreFile="conf/truststore.ts" truststorePass="changeit"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
secure="true" sslProtocol="TLS" />
Verwandte Themen
- 1. Wie erhält man das erste Zeichen einer Zeichenkette in SQL?
- 2. Wie erhält man das erste Element in einer Zeichenfolge?
- 3. java: Wie man das Ergebnis einer URL-Abfrage erhält
- 4. Wie erhält man das Ergebnis mit nur einer Abfrage?
- 5. Wie erhält man das erste Wort eines Satzes in PHP?
- 6. Wie man Arbeitsweg einer wcf Anwendung erhält?
- 7. Wie erhält man das vorherige Element in ng-repeat?
- 8. Wie erhält man die Mehrfachwerte einer Auswahlbox?
- 9. Wie man Anmerkungen einer Mitgliedsvariablen erhält?
- 10. Wie erhält man den Exponentenwert einer Zahl?
- 11. Wie erhält man den Anfangswert einer Komponenteneigenschaft?
- 12. Wie erhält man den Wert einer Entität in einer Klasse?
- 13. Wie man Daten von einer Tabelle erhält
- 14. Wie erhält man den Prozessnamen einer Anwendung?
- 15. Wie man das Wort erhält, das in einer Liste der Zeichenketten am meisten wiederholt wird?
- 16. Wie erhält man das Umgebungsvariablen-Trennzeichen PATH in Python?
- 17. Wie erhält man das aktuelle URL-Routenmuster in Schienen?
- 18. Wie erhält man Schriftgrößen?
- 19. Wie Clientzertifikat aus Android Cert Store
- 20. Wie erhält man die Größe der Werte in einer Map?
- 21. Wie erhält man den letzten Pfad in einer URL?
- 22. Wie erhält man den Inhaltstyp einer Datei in PHP?
- 23. Wie erhält man die Farbe eines Pixels in einer UIView?
- 24. Android: Wie erhält man das Log einer App wie beim Debuggen in Android Studio?
- 25. Wie erhält man den Namen eines Projekts in einer Lösung?
- 26. Wie erhält man den Dezimalwert?
- 27. Wie erhält man das höchste Element in absoluten Zahlen in einer Matrix?
- 28. Silverlight: Wie erhält man ProcessorCount?
- 29. Wie erhält man ParameterInfo Value?
- 30. Wie erhält man sichtbare Eigenschaften in C#