2 votes

Extraire des informations du certificat

Je travaille sur l'authentification du client (dans un exemple d'application JSP) en utilisant des certificats. J'ai écrit un code pour extraire les informations du client à partir du certificat du client. Je voulais maintenant utiliser le numéro de série du certificat pour identifier l'utilisation particulière à partir de la base de données.

J'extrais le numéro de série en utilisant <%= cert.getSerialNumber %> Je reçois un résultat de 3. S'agit-il d'un entier, d'un BigInteger ou d'un tableau ?

Y a-t-il un moyen de déclarer cela comme une autre variable entière, par exemple int a = (valeur du numéro de série) ? Je n'ai pas beaucoup joué avec jsp, donc je ne sais pas exactement où avoir un code pour cela dans mon fichier jsp.

J'apprécierais vraiment que quelqu'un puisse m'aider. Merci d'avance. Je joins mon code qui extrait le numéro de série du certificat installé.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.math.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Welcome</title>
</head>
<body>
<center> <font color="red"> Welcome</font> </center>
<%
Object o = request.getAttribute("javax.servlet.request.X509Certificate");
if (o != null) {
X509Certificate certs[] = (X509Certificate[]) o;
X509Certificate cert = certs[0];
%>   
<%= cert.getSerialNumber() %>             
<%   
}   
else {
%>
You are not Authorized!
Your certificate cannot be found!
<%
}
%>
<br><br>
<form method = "post" action = "page2.jsp">
<input type = submit value = "click me">
</form>
</body>
</html>

0voto

Beau Grantham Points 3339

En getSerialNumber() renvoie un BigInteger conformément à l'article Certificat X509 API . Si vous voulez assigner cette valeur à une variable, vous pouvez simplement le faire :

BigInteger serialNumber = cert.getSerialNumber();

Soit dit en passant, cela n'a rien à voir avec la connaissance de JSP, c'est le cœur de Java.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X