Pokazywanie postów oznaczonych etykietą java. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą java. Pokaż wszystkie posty

środa, 31 października 2012

Sun MSCAPI

KeyStore keyStore = KeyStore.getInstance("Windows-MY", "SunMSCAPI"); 
keyStore.load(null, null);
java.util.Enumeration en = keyStore .aliases();
 
while (en.hasMoreElements()) {
  String aliasKey = (String) en.nextElement();
  Certificate[] chain = keyStore.getCertificateChain(aliasKey);
}


Ktoś korzystał i ma doświadczenie?

niedziela, 2 października 2011

Podpis kwalifikowany

W Javie korzystam z bibliotek standardu PKCS#11, które są implementowane przez następujące pliki:
  • KIR (SZAFIR) / SIGILLUM (PWPW) - ccpkip11.dll (taka samą nazwę pliku, ale inną lokalizację ma sterownik karty 64-bit),
  • UNIZETO (CERTUM) - cryptoCertum3PKCS.dll (taka samą nazwę pliku, ale inną lokalizację ma sterownik karty 64-bit. Dla starszych kart - numery ośmiocyfrowe - jest sterownik karty o nazwie cryptoCertumPKCS11.dll),
  • MOBICERT - dla nowszych kart Siemensa od połowy 2010 roku - cmp11.dll i cmp1164.dll (dla systemów 64-bit),
  • CENCERT - enigmap11.dll i enigmap11-x64.dll (dla systemów 64-bit).
Na początku do obsługi standardu PKCS#11 wykorzystywałem standardową implementację firmy Sun (teraz Oracle). Jednak ze względu na liczne problemy (czasami nawet losowo pojawiające się błędy), zacząłem wykorzystywać bibliotekę IAIK. Teraz mogę w prosty sposób dostać się do listy kluczy publicznych (bez konieczności podawania PIN-u do karty).  Wcześniej musiałem z góry znać numer slotu (później nauczyłem się wcześniej odczytywać odpowiedni numer slotu, jednak wymagało to nie lada kombinacji).
    Jedyną wadą jest konieczność dołączania nowego jara (iaikPkcs11wrapper.jar) i biblioteki dll do systemu obsługującego karty (pkcs11wrapper.dll).

Pierwszy post

Witajcie!
Na blogu będę opisywał ciekawe przypadki użycia języka Java oraz wybrane zagadnienia z pytań przygotowujących do egzaminu OCJP (dawniej SCJP).