IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Java Discussion :

Erreur "the import sun.security.pkcs11 cannot be resolved"


Sujet :

Sécurité Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut Erreur "the import sun.security.pkcs11 cannot be resolved"
    Salut à tous,

    L'intitulé de la discussion résume très bien le problème...

    J'ai passé ma journée d'hier à chercher et je n'ai toujours pas la réponse.
    C'est la raison pour laquelle je m'en remet à vous.

    Pour information, c'est un code source que j'ai récupéré et que l'on m'impose. Au départ j'avais une tonne d'import qui ne marché pas et j'ai donc du installé le pluging M2 (maven) pour eclipse. Seulement après cela j'ai toujours une erreur sur le sun.security.pkcs11 qui ne veut pas s'importer (je ne pense pas l'avoir en fait^^ mais je n'arrive pas à le trouver)...

    Merci d'avance de vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Ce que je peux te dire c'est qu'il ne s'agit ni d'un paquet du SDK Java standard, ni d'un paquet de BouncyCastle.

    A voir après si Sun aurait pas publié à un moment ou à un autre un provider spécifique pour la JCE.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    A la réflexion il s'agit peut être d'un des provider du SDK standard. Avec le rachat d'Oracle il me manque plein de favoris qui ont sauté.

    Quelle version de Java utilises-tu ? Et de quelle version de Java provient ton code ?
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Le code à était fait avec le JDK 1.6.0_18 et moi j'utilise le JDK 1.6.0_22...

  5. #5
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Bizarre ton truc, à ce que je vois ici, sun.security.* c'est bien un des providers standard du SDK standard sauf qu'on invoque jamais directement les classes des providers, on utilise les interfaces de la JCE et les classes des providers sont "polymorphées" dessus.

    On peut voir le bout de code qui demande la dépendance ?

    Un autre truc de bizarre c'est que PKCS#11 n'est pas censé être supporté par le provider Sun mais par le provider SunPKCS11. Il y a toute une documentation que tu devrais lire ici.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    log.debug("Creating provider for Professional Healthcare Card");
    		InputStream is;
    		StringBuffer cardConfig = new StringBuffer();
    		cardConfig.append("name = SoftToken\n");
    		cardConfig.append("library = " + module);
    		is = new ByteArrayInputStream(cardConfig.toString().getBytes());
    		System.out.println("Creating Provider ...");
     
    		Provider securityProvider = new sun.security.pkcs11.SunPKCS11(is);
    		System.out.println("Adding provider ...");
    		Security.addProvider(securityProvider);
    ici on voit bien ce dont tu me parle à savoir SunPKCS11.

    Mais j'ai aussi un aussi lors d'un simple import à savoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import sun.security.pkcs11.wrapper.PKCS11Exception;

  7. #7
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Super bizarre ce bout de code.

    Le mec ajoute par programmation le provider au système ... sauf que normalement il y est déjà

    Quelle est la valeur de la variable module ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cardConfig.append("library = " + module);
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    J'avoue ne pas comprendre non plus...

    Module est un string qui prend sa valeur lors d'un appel de fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public VIHFCardCertificateClientHandler(String module, char[] cardPassword) 
    {
    	super(cardPassword);
    	this.module = module;
    }

  9. #9
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Et elle est appelée à partir d'où ?

    A priori module serait le chemin de la librairie, donc de ta dépendance.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  10. #10
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Cette ligne aussi elle est chelou (le SoftToken) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cardConfig.append("name = SoftToken\n");
    On dirait vraiment un truc pas fini.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Je pense effectivement que c'est une partie qui a été bâclée... puisque, par exemple, elle n'est jamais appelée...

  12. #12
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    C'est pour gérer des cartes à puces par exemple contenant des clefs privées. Ton système ne dialogue pas avec des périphériques externes de sécurité ?
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Normalement oui, avec un lecteur de carte justement.

  14. #14
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Donc il faut bien que ton code soit appelé. Je vois que ça parle de santé, c'est pour les cartes CPS ?

    On t'a présenté ce code comme finalisé ?

    Il y a d'autres parties du code/API censées gérer les cartes à puces ?
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Effectivement, c'est bien pour des CPS.

    Le code que l'on me fournit et "normalement" un code pour donner un exemple de comment faire les choses. Mon intention était de faire marché ce code pour ensuite le reprendre à ma sauce...

    Enfin et pour répondre à ta question il y a effectivement d'autres classes qui permettent de gérer la carte à puce.

  16. #16
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    De ce que je sais les CPS permettent de stocker les clefs privées du personnel de santé ce qui permet derrière de pouvoir signer numériquement avec.

    Les paires de clefs permettant de chiffrer les communications ne sont pas les mêmes et sont générées par l'utilisateur et transmises à la PKI de la sécu via PKCS#10.

    PKCS#11 est un format de stockage et de manipulation de clef sur des périphériques externes typiquement des cartes à puces.

    Et il y a d'autres informations en plus de la clef privée pour signer sur la carte à puce.

    Donc en gros si tu n'as pas besoin de signer je ne pense pas que tu auras besoin de PKCS11.

    Je sais pas si ça répond à tes problèmes.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    Malheureusement je dois signer...

    Autre chose, le programme permet la connexion sécurisée TLS mutuelle.
    J'ai essayé de chercher un peu sur le net et j'ai trouvé ceci :
    http://blog.ippon.fr/2008/10/20/cert...n-ssl-en-java/

    Mais je ne suis pas sur de comprendre ce que cela fait...
    A quoi sert le trustmanager par exemple ou encore comment se servir de la SSLSocketFactory.
    J'ai bien lu la documentation mais ça ne me semble pas évident et je trouve pas de réel tuto qui décrivent la marche à suivre.

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    voici le code pour le TLS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    public static void setTLS(Object portType) throws Exception {
     
    		if (tlsClientParameters == null) 
    		{
     
    			String proxyHost = Properties.load("PROXY_HOST");
    			String proxyPort = Properties.load("PROXY_PORT");
     
    			if (proxyHost != null && proxyPort != null
    					&& !"".equals(proxyHost.trim())
    					&& !"".equals(proxyPort.trim())) {
    				System.setProperty("https.proxyHost", proxyHost);
    				System.setProperty("https.proxyPort", proxyPort);
    			}
     
    			X509Certificate[] certificatesChain = new X509Certificate[1];
     
    			// keyManager pour l'authentification TLS
    			KeyManager[] managers = new KeyManager[1];
     
    			if ("P12".equalsIgnoreCase(Properties.load("CERTIFICATE_TYPE"))) 
    			{
    				// gestion TLS avec certificat serveur (P12)
    				Pkcs12Impl pkcs12 = new Pkcs12Impl();
    				pkcs12.login(Properties
    						.load("AUTHENTIFICATION_CERTIFICATE_PATH"), Properties
    						.load("AUTHENTIFICATION_PASSWORD"));
    				certificatesChain[0] = pkcs12.getCertificate();
    				managers[0] = new SSLKeyManagers(certificatesChain, pkcs12
    						.getKey());
    				System.out.println("PKCS12 Format: " + pkcs12.getKey());
     
    			} 
    			else 
    			{
    				// gestion TLS avec certificat CPS
    				Pkcs11 pkcs11 = new Pkcs11Impl(Properties.load("CPS_MODULE"));
    				pkcs11.login(Properties.load("CPS_PWD"));
    				managers[0] = new SSLKeyManagers(pkcs11
    						.getAuthentificationCertificateChain(), pkcs11
    						.getAuthentificationPrivateKey());
    				System.out.println("PKCS11 Format: "
    						+ pkcs11.getAuthentificationPrivateKey());
     
    			}
     
    			// ouverture de la communisation TLS
    			Client client = ClientProxy.getClient(portType);
    			SSLContext sslContext = SSLContext.getInstance("TLS");
     
    			// recuperation du trustManager
    			TrustManager[] trustManager = getServerTrustManager();
     
    			// recuperation du conduit
    			sslContext.init(managers, trustManager, null);
    			HTTPConduit conduit = (HTTPConduit) client.getConduit();
     
    			// mise en place des parametres TLS
    			tlsClientParameters = new TLSClientParameters();
    			// si le trustManager a ete defini, on le fixe sur le conduit
    			if (trustManager != null) {
    				tlsClientParameters.setTrustManagers(trustManager);
    			}
    			tlsClientParameters.setKeyManagers(managers);
    			tlsClientParameters.setSSLSocketFactory(sslContext
    					.getSocketFactory());
    			// tlsClientParameters.setDisableCNCheck(false);
     
    			conduit.setTlsClientParameters(tlsClientParameters);
     
    		} else {
     
    			Client client = ClientProxy.getClient(portType);
    			HTTPConduit conduit = (HTTPConduit) client.getConduit();
     
    			conduit.setTlsClientParameters(tlsClientParameters);
    		}
    si j'ai bien compris cela permet de
    - récupère le certificat d’authentification ;
    - crée un X509TrustManager ;
    - crée un contexte TLS contenant le X509TrustManager et le certificat
    d’authentification ;
    - récupère le client TLS de la transaction ;
    - construit un contexte TLS adapté au DMP ;
    - définit ce contexte TLS comme étant celui du conduit https du client récupéré.

    et ce que je comprend, par exemple, c'est où est la socket de communication?
    comment les données transites (par quel "tunnel" cela passe).

  19. #19
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Là tout de suite j'ai pas le temps de pousser plus avant faudrait que je fasse quelques recherches parce que de tête c'est un peu chaud.

    Une question sinon, tu n'utilises que le SDK standard ou tu as le droit d'utiliser une API tierce ? En clair, peux-tu rajouter un provider à la JCE ? J'ai un peu bossé avec BouncyCastle et je dois avoir les codes pour faire ce que tu veux. Je regarderai ce soir.

    Ceci dit, si tu ne comprends pas ce qu'explique le tutoriel que tu as mis en lien je te conseille de te renseigner sur les PKI.

    Je regarde ce soir en détail.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 16
    Points : 5
    Points
    5
    Par défaut
    D'accord merci beaucoup pour tes réponses et le temps que tu me consacre.

    Oui je peux utiliser une API tierce. Je crois même que BouncyCastle est déjà utilisé quelque part dans le code.

    En attendant je vais écouter tes conseils et me renseigné sur les PKI.*

    Encore merci :-)

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/04/2015, 23h08
  2. Erreur "the import javax.vecmath can not be resolved"
    Par oumay dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 17/03/2015, 16h54
  3. Réponses: 0
    Dernier message: 19/10/2012, 12h10
  4. the import javax.media.jai cannot be resolved
    Par s.amina dans le forum Graphisme
    Réponses: 3
    Dernier message: 22/01/2010, 01h16
  5. the import org.jdom can not be resolved
    Par samia13 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 19/05/2007, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo