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

Résolu
kzanadeus Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -  
 karlzorn -
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

nbn
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   > nbbbn
 
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
nes
 
slt, je rencontre un pblm avec la signature pkcs11, est ce que tu peux m'aider??
0
karlzorn
 
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   Statut Membre Dernière intervention   3
 
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
nbn
 
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   Statut Membre Dernière intervention   3
 
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
nbn
 
Biensure sans aucun probléme
0
byassir1984 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   3
 
Au final quel est le but de l'application ?
0
byassir1984 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   3
 
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
pingus
 
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
Kzanadeus
 
Voici le lien officiel : https://www.rsa.com/en-us/company/insight?id=2133

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