Comment ajouter un côté client un certificat pkcs12 de Facteur de Chrome, W7 ?
J'essaie de tester un étrange demande où je dois fournir une authentification de BASE et un certificat côté client.
J'essaie de le vérifier avec Facteur Chrome, mais je ne comprenais pas comment lier le certificat à partir de chrome certificat personnel à ma demande.
J'ai vu cette discussion : https://github.com/a85/POSTMan-Chrome-Extension/issues/482 mais il est à propos de MAC fichier de clés et je ne peux pas transposer est pour W7/Chrome.
Voici mon code java, que devrait faire le même travail en tant que facteur pour vous aider à comprendre ce que je veux facteur à faire. Nous utilisons ce poste à écrire
InputStream is = context.getResources().getAssets().open("CertificateFile.p12");
KeyStore keyStore = KeyStore.getInstance("PKCS12");
BufferedInputStream bis = new BufferedInputStream(is);
String password ="xxxxx";
keyStore.load(bis, password.toCharArray()); //password is the PKCS#12 password. If there is no password, just pass null
//Init SSL Context
KeyManagerFactory kmf = KeyManagerFactory.getInstance("X509");
kmf.init(keyStore, password.toCharArray());
KeyManager[] keyManagers = kmf.getKeyManagers();
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManagers, null, null);
HttpsURLConnection urlConnection = null;
String strURL = "theUrlITryToHit";
url = new URL(strURL);
urlConnection = (HttpsURLConnection) url.openConnection();
if(urlConnection instanceof HttpsURLConnection) {
((HttpsURLConnection)urlConnection)
.setSSLSocketFactory(sslContext.getSocketFactory());
}
urlConnection.setRequestMethod("GET");
String basicAuth = "Basic " + Base64.encodeToString("pseudo:password".getBytes(), Base64.NO_WRAP);
urlConnection.setRequestProperty ("Authorization", basicAuth);
Avez-vous trouvé une solution? Je voudrais ajouter un certificat à facteur pour le test pouvez-vous m'aider s'il vous plait
OriginalL'auteur Poutrathor | 2014-12-16
Vous devez vous connecter pour publier un commentaire.
J'ai eu un problème similaire et il suffit de travailler. Ma clé privée et cert ont été stockées dans une .fichier pem, j'ai donc d'abord nécessaire de les mettre dans un format que Windows va l'utiliser. Je l'ai fait avec la commande suivante:
Je l'ai fait en linux, mais il devrait fonctionner sous Windows, si vous avez openssl installé.
Exécuter
certmgr.msc
dans Windows. Cliquez-droit sur le dossier "Personnel" et sélectionnez "Toutes les tâches" - > "Importer..." et choisissez le .fichier pfx. Entrez le mot de passe et l'importer dans le dossier "Personnel".Une fois cela fait, vous aurez besoin de fermer votre exécutant Chrome windows. Ensuite, ouvrez Facteur dans une nouvelle fenêtre. Lorsque vous tentez de vous connecter à l'URL, cette fois, il devrait demander à confirmer l'utilisation de la client cert. Une fois confirmé, vous devriez être en mesure de faire des appels à l'URL à partir de là.
J'ai eu un problème lorsque je veux appeler un service qui exige un certificat client. Facteur correctement m'a incité à choisir un certificat du client pour l'envoyer, mais je ne l'ai importé dans mon dossier Personnel. Après l'importation, je ne pouvais pas obtenir le Facteur de re-invite-moi pour le certificat. J'ai dû non seulement à proximité de Chrome et de facteur, mais j'ai dû tuer tous les Chrome.exe les processus qui étaient encore en cours d'exécution. Puis, quand j'ai ouvert le Facteur nouveau et appelé le service qu'il m'a poussé et j'ai été en mesure de choisir le bon cert.
OriginalL'auteur Chris.B