Décryptage token dans un keystore
Bonjour à tous,
Je dois effectuer un décryptage d'un token qui est transmis à l'application.
J'utilise le keystore de Windows pour récupérer la clef privée puis effectuer le décryptage.
J'arrive à accéder au keystore mais je n'ai accès à aucune propriété.
Après avoir parcouru plusieurs forum ou tuto, je ne sais plus quoi faire.
Pourriez-vous me donner quelques indications?
Merci d'avance.
Ci-dessous la classe avec laquelle j'effectue mes tests
Code:
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
| import java.security.KeyFactory;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.Provider;
import java.security.Security;
import java.security.cert.Certificate;
class RSAJEncrypt {
public static void main(String[] args) {
try {
Provider[] providers = Security.getProviders();
for (int i = 0; i < providers.length; i++) {
System.out.println(providers[i].getName());
}
KeyStore ks = KeyStore.getInstance("Windows-ROOT");
//KeyStore ks = KeyStore.getInstance("pkcs12");
ks.load(null, null);
java.util.Enumeration en = ks.aliases();
while (en.hasMoreElements()) {
String aliasKey = (String) en.nextElement();
Certificate c = ks.getCertificate(aliasKey);
System.out.println("---> alias : " + aliasKey);
System.out.println(" " +
ks.isCertificateEntry(aliasKey)+"/"+ks.isKeyEntry(aliasKey) //tjs true/false
if (aliasKey.equals("myKey")) {
PrivateKey key = (PrivateKey) ks.getKey(aliasKey, "monPassword".toCharArray());
Certificate[] chain = ks.getCertificateChain(aliasKey);
}
}
} catch (Exception ioe) {
System.err.println(ioe.getMessage());
}
}
} |