OVH Cloud OVH Cloud

Applet et certificat

3 réponses
Avatar
jpeg_33
Bonjour à tous,

J'aimerais faire une applet qui accède à une base de données mysql
(pour mettre sur free). Le problème c'est que la base de données n'est
pas sur le même serveur que le serveur web. Donc pour éviter d'avoir
une erreur de type java.net.socketpermission, il faut que je signe mon
applet et que je fasse un certificat (j'espère que je ne me suis pas
planté dans ce que je viens de dire).
Pour faire un certificat, soit on le fait tout seul mais ça ne sera
pas un certificat "digne de confiance" soit on en fait un auprès d'un
organisme qui délivre des certificats mais ils sont payant.
Donc, y a-t-il une différence du point de vu de l'utilisation entre un
certificat digne de confiance et un qui ne l'est pas ? En gros, est-ce
qu'on peut faire la même chose quelque soit le certificat utilisé ?

Merci

PS : Ca m'étonnerait sinon je vois pas l'utilité de prendre celui qui
est payant, enfin on ne sait jamais.

3 réponses

Avatar
Jc Sirot
Alex wrote:

J'aimerais faire une applet qui accède à une base de données mysq l
(pour mettre sur free). Le problème c'est que la base de données n' est
pas sur le même serveur que le serveur web. Donc pour éviter d'avoi r
une erreur de type java.net.socketpermission, il faut que je signe mon
applet et que je fasse un certificat (j'espère que je ne me suis pas
planté dans ce que je viens de dire).


Oui. Pour être plus précis, en fait il te faut une paire de clés,
c'est-à-dire une clé privée et le certificat associé contenant la clé
publique.

Pour faire un certificat, soit on le fait tout seul mais ça ne sera
pas un certificat "digne de confiance" soit on en fait un auprès d'un
organisme qui délivre des certificats mais ils sont payant.
Donc, y a-t-il une différence du point de vu de l'utilisation entre u n
certificat digne de confiance et un qui ne l'est pas ? En gros, est-ce
qu'on peut faire la même chose quelque soit le certificat utilisé ?


En fait, il n'y a de confiance dans un certificat que celle que tu veux
bien lui donner. Je m'explique : si tu achètes un certificat à Thawte
(par exemple), Thawte ne fait que signer la clé publique que tu lui as
fourni. En outre, Thawte possède une politique de certification qui est
un document qui explique quelles procédures sont engagées quand elle
signe un certificat (par exemple vérifier ton identité).
Si tu utilises ce certificat pour signer ton code (c'est un racourci, en
fait on utilise la clé privée pour signer) tout le monde pourra vér ifier
que ce code a été signé par un certificat produit par Thawte (car l e
certificate de l'autorité de certification de Thawte est en dur
quelque-part dans la JVM) et donc que les infos fournies par ce
certificat (ton nom, email...) ont été vérifiés selon la politiqu e de
certification de Thawte. Il faut bien remarquer qu'un code signé
n'assure en rien que ce code n'est pas malveillant, il assure simplement
de l'identité du développeur (toujours selon les termes de la politiq ue
de certification bien sûr)

Maintenant rien ne t'empêche de signer toi même un certificat (avec l e
keytool de sun, OpenSSL...), cependant les utilisateurs ne pourront pas
vérifier cette signature puisque ton certificat de CA n'est pas inclus
dans la JVM. Par conséquent ces utilisateurs n'auront aucun moyen de
s'assurer de l'identité du développeur du code signé.

Au niveau fonctionnement, la seule différence est qu'un message alerte
les utilisateurs que le certificat a été signé par une autorité à qui il
ne font pas confiance par défaut. Une fois passée cette fenêtre pop up,
le fonctionnement de l'applet est exactement le même quelque-soit le
certificat utilisé.
--

Cordialement
-- JC Sirot

Avatar
Kupee
Jc Sirot wrote:
En fait, il n'y a de confiance dans un certificat que celle que tu veux
bien lui donner. Je m'explique : si tu achètes un certificat à Thawte
(par exemple), Thawte ne fait que signer la clé publique que tu lui as
fourni. En outre, Thawte possède une politique de certification qui est
un document qui explique quelles procédures sont engagées quand elle
signe un certificat (par exemple vérifier ton identité).
Si tu utilises ce certificat pour signer ton code (c'est un racourci, en
fait on utilise la clé privée pour signer) tout le monde pourra vérifier
que ce code a été signé par un certificat produit par Thawte (car le
certificate de l'autorité de certification de Thawte est en dur
quelque-part dans la JVM) et donc que les infos fournies par ce
certificat (ton nom, email...) ont été vérifiés selon la politique de
certification de Thawte. Il faut bien remarquer qu'un code signé
n'assure en rien que ce code n'est pas malveillant, il assure simplement
de l'identité du développeur (toujours selon les termes de la politique
de certification bien sûr)

Maintenant rien ne t'empêche de signer toi même un certificat (avec le
keytool de sun, OpenSSL...), cependant les utilisateurs ne pourront pas
vérifier cette signature puisque ton certificat de CA n'est pas inclus
dans la JVM. Par conséquent ces utilisateurs n'auront aucun moyen de
s'assurer de l'identité du développeur du code signé.


Cela dit les boites qui délivrent des certificats ne vérifient pas le
fonctionnement de ton soft, elles ne vérifient que l'identité de la
personne crée le certificat.
Donc rien n'empeche qu'une applet certifiée digne de confiance et tout
ne t'efface ton disque dur si la personne a programmé son truc avec les
pieds.
Et rien n'empeche une boite genre Gator (y zont changé de nom eux non ?)
d'acheter un beau certificat digne de confiance et tout, et de
t'installer 3000 spy sur ta machine grace a ce certificat que tu auras
accepté parce que tu as confiance

Avatar
Alex
Merci bien pour les réponses :-)