Problème lors de l'implémentation PKCS#11

Résolu/Fermé
kzanadeus Messages postés 70 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 4 décembre 2009 - 8 janv. 2009 à 10:53
 karlzorn - 1 juin 2012 à 01:21
Bonjour,

je suis analyste/développeur et je suis sur un gros projet de création d'un PKCS#11. Jusqu'a maintenant tout allait bien, mais d'un coup je me suis retrouvé avec un problème étrange.

Lorsque je me connecte à un site web sécurisé (https://) la connexion refuse de se faire et j'obtient l'erreur : sec_error_unknown_issuer. Alors que si j'installe l'authorité de mon certificat dans le PKCS#11 de firrefox et ne garde que mon certificat user dans mon PKCS#11 et ben sa marche, je passe je me connecte, je m'authentifie et je peux faire des signatures électronique.

En revanche dès que je remet mon certificat authorité dans mon PKCS#11 et le supprime de celui de Firefox, ben hop sec_error_unknown_issuer revient encore et toujours et aucun moyen de passer.

Si quelqu'un a une idée, je suis preneur et je peux fournir des détails (logs ou morceau de code) si nécessaire.

Merci d'avance.

Cordialement.

Kzanadeus.
A voir également:

11 réponses

Bonjour,
Si j'ai bien compris:
Tu dispose d'un token ou carte à puce donc pour pouvoir l'utiliser correctement avec Firefox sous Windows tu dois installer le module PKCS#11 de ton support (un fichier ".dll") correspondant dans la partie "Préference de Firefox>Péripherique de sécurité>Avancé>Chiffrement".
Desque tu connecte ton support la partie publique qui est ton certificat va être présent dans ton Gestionnaire de certificat.
Si tu as besoin d'eclaircissement dis moi.
Bon travail
2
amine3921 Messages postés 4 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 1 juillet 2009
29 juin 2009 à 16:16
Bonjour,
je travail dans le cadre d'un projet d'intégration d'un middlewear générique "SAFE SIGNE" grâce aux pkcs#11 et je suis bloquer sur une erreur lors d’appel de la clé privée du certificat de signature.(j'arrive pas a signer)[le chiffrement et le déchiffrement passe].
L’erreur :
[303]erreur de génération de la signature des données.
...if (custom) {
LOG.info("custom provider...");
customizeProviderP11CS(digestAlgorithm, true, false);
}

signedData = cms.sign(testData,
signerCert,
signerPKey,
digestAlgorithm,
tokenManager.getProvider());
assertNotNull(signedData);...

et aussi une autre question au niveau du SlotID es ce qu'on le récupère en format décimal ou en hexa ??
si tu peux m'aider.
Merci d'avance.
0
nbbbn > amine3921 Messages postés 4 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 1 juillet 2009
30 juin 2009 à 11:48
quel est le type de support que tu utilise?
l'application que tu fais en quel language?
tu utilises la DLL dans le code source?

si tu donnes le code source en détails peut être je peux t'aider plus.

pour le SlotID est en décimal.

est tu en Tunisie?

Bon travail
0
amine3921 Messages postés 4 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 1 juillet 2009 > nbbbn
1 juil. 2009 à 10:38
merci pour ton aide non je suis pas en Tunisie.
le support que j'utilise lecteur de cartes à puce + des différentes type de cartes à puce car le SAFESIGN permet l'utilisation de tous types de carte d'où le but du projet.
langage java.
concernant la DLL c'est la dll du middlewear safesign aetpkss1.dll
voici une partie du code:

if (provider != null) {
signedData = signGen.generate(content, isAttach, provider.getName());
} else {
signedData = signGen.generate(content, isAttach, "carte PKCS#11_P11");
}

if (LOG.isDebugEnabled()) {
LOG.debug(" Signature generated");
}

SignerInformation signerInfo = (SignerInformation) signedData.getSignerInfos().getSigners().iterator().next();

if (LOG.isDebugEnabled()) {
LOG.debug(" Data signed");
}

this.signatureValue = signerInfo.getSignature();
this.certSigner = cert;
this.signerId = signerInfo.getSID();

return signedData.getEncoded();

} catch (Exception e) {
LOG.error("Error while signing the data (", e);
throw new SignatureException(
SignatureException.CODE.ERROR_GENERATE_SIGN);
}
}

pour l'appel de la dll utiliser il est fais a partir d'un fichier environment properties:
# PKCS#11 smart card tests
#
pkcs11.smartcard.module=C:/Windows/System32/aetpkss1.dll
pkcs11.smartcard.slot=cd01
pkcs11.smartcard.pin=1234
....
j'espère que j'été clair.
merci
0
slt, je rencontre un pblm avec la signature pkcs11, est ce que tu peux m'aider??
0
salut je suis sur un projet similaire avec le meme middleware et ca m'interesse d;echanger des infos sur celui-ci 9 aet pkcs ) crdlt,
0
kzanadeus Messages postés 70 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 4 décembre 2009 3
1 avril 2009 à 13:53
Merci pour la réponse.

Après de nombreux essais et recherches, j'ai fint par comprendre d'où venait le problème.

En fait, il y a des informations supplémentaires à dire via le PKCS#11 à FireFox pour qu'il le considère comme connu. J'ai fournis la chaine de certification et les droits nécessaires au certificat et tout à finit par passer.

Maintenant mon PKCS#11 fonctionne bien, même si il me reste encore quelques zones d'ombres pour l'avenir. En effet, il existe plus de 400 algorithmes de chiffrement référencés dans le standard PKCS#11 et donc j'ai encore du travail si je veux être compatible avec tout. Mais j'ai le temps maintenant que les fonctionnalités de bases sont opérationnelles.

Par curiosité comment connaissez-vous le standard PKCS#11 ? En avez-vous implémenté un vous même ?

Cordialement.

Kzanadeus.
0
Resalut,
J'ai programmé en JAVA, C++ et Python dans des projets différents biensure pour gérer des cartes à puce, donc j'ai utilisé des API(s) supportant le standard PKCS11 comme IAIK et autre...
Nizar
0
kzanadeus Messages postés 70 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 4 décembre 2009 3
1 avril 2009 à 15:28
Vous devez bien vous y connaître alors la dedans.

Je n'hésiterais pas à faire appel a vous en cas de problème.

Merci encore.

Cordialement.

Kzanadeus.
0
Biensure sans aucun probléme
0
byassir1984 Messages postés 8 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 6 mai 2009
13 avril 2009 à 17:43
Bonjour,

je dois faire un programme sous vb.net, qui communique avec un HSM en utilisant l'API PKCS#11.
je suis très nouveau dans ce domaine, j'en connais très peu. je vous prie de m'aider à trouver une démarche a ce problème.

Bien Cordialement.

Yassir.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kzanadeus Messages postés 70 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 4 décembre 2009 3
14 avril 2009 à 09:44
Bonjour, je pense que le mieux est de commencer par la documentation officielle du PKCS#11 trouvable sur le site des laboratoires RSA.

Ensuite, je pense qu'il faut se faire la main dessus en utilisant FireFox qui peut installer facilement tout se qui utilise un PKCS#11.

Si des détails sont requis, je suis là.

Cordialement.

Kzanadeus.
0
byassir1984 Messages postés 8 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 6 mai 2009
14 avril 2009 à 11:06
Bonjour,

tout d'abord merci pour votre réponse, en fait j'ai déjà commencé par la documentation du PKCS#11 et tous marche bien pour le moment.
c'est quoi le lien entre mon projet(faire un programme sous vb.net en utilisant l'API Cryptoki, avec le quel on peut créer les clés pour le chiffrement et déchiffrement, signature, certificats..) et FireFox??

Je vous remercie encore.

Bien Cordialement.

Yassir.
0
kzanadeus Messages postés 70 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 4 décembre 2009 3
14 avril 2009 à 11:42
Au final quel est le but de l'application ?
0
byassir1984 Messages postés 8 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 6 mai 2009
14 avril 2009 à 12:28
le but de mon projet est la personnalisation des données dans un e-passeport, et je dois tout d'abord terminer la première phase déjà signalé.puis je dois passer à la deuxième phase:sécuriser les données d'un passeport.
je suis peut être pas assez clair, car l'environnement est très nouveau pour moi.

Cordialement.
0
kzanadeus Messages postés 70 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 4 décembre 2009 3
14 avril 2009 à 13:36
Je suppose que les données personnalisées sont des données de certificats éléctroniques.

Si c'est le cas, le module PKCS#11 ne sera là que pour faire les demandes donc après, je ne sais pas si la librairie est complète et donc fait tous les appels ou si c'est ton application qui reçoit les requêtes du module PKCS#11... je ne sais donc pas trop comment t'aider.
0
Bonjour,
Auriez-vous un lien qui explique le but, les objectifs et problèmes auxquels on peut répondre avec le PKCS#11.
(PKCS#11 pour les null)

Merci d'avance
0
Voici le lien officiel : https://www.rsa.com/en-us/company/insight?id=2133

Regardes et vois les possibilités, c'est énormes.
0