<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1597603903765716082</id><updated>2024-09-13T13:18:38.020-07:00</updated><category term="java"/><category term="podpis kwalifikowany"/><category term="sun pkcs11"/><category term="iaik"/><category term="offtopic"/><category term="pkcs11"/><category term="sunmscapi"/><title type='text'>Java czy sen ?</title><subtitle type='html'>Blog o tematyce IT. Z racji mojego zawodu będzie to najczęściej język Java.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-6439960489168711267</id><published>2017-10-30T03:28:00.002-07:00</published><updated>2017-10-30T03:28:10.497-07:00</updated><title type='text'>Kiedy w końcu podpis kwalifikowany się upowszechni?</title><content type='html'>Jedynym problem stojącym na drodze jest cena podpisu kwalifikowanego. Jej wysokość (200 PLN za certyfikat ważny 2 lata) jest niestety dla wielu osób ceną zaporową. 
Może kiedyś doczekamy się nowych dowodów osobistych z wbudowaną funkcją klucza umożliwiającego podpis cyfrowy (tak jak jest to obecnie w Estonii). Myślę, że pozostaje nam niestety jeszcze trochę poczekać.
</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/6439960489168711267/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2017/10/kiedy-w-koncu-podpis-kwalifikowany-sie.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/6439960489168711267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/6439960489168711267'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2017/10/kiedy-w-koncu-podpis-kwalifikowany-sie.html' title='Kiedy w końcu podpis kwalifikowany się upowszechni?'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-4700209706309836013</id><published>2017-10-27T04:38:00.001-07:00</published><updated>2017-10-30T03:19:21.960-07:00</updated><title type='text'>Nowy certyfikat ROOT CA</title><content type='html'>Z dniem &lt;b&gt;9 grudnia 2016&lt;/b&gt; został wystawiony nowy certyfikat główny tzw. root CA. Jest ważny aż do &lt;b&gt;10 grudnia 2039&lt;/b&gt;. Podmiot = wystawca i ma wartość 2.5.4.97 = VATPL-5250008198 CN = Narodowe Centrum Certyfikacji O = Narodowy Bank Polski C = PL. Co prawda stary ROOT CA jest ważny jeszcze do ‎27 ‎października ‎2020, ale certyfikaty wystawców (tj. KIR, SIGILLUM itd.) są podpisywane już nowym kluczem (mówiąc inaczej są wystawiane przez ten nowy klucz). </content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/4700209706309836013/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2017/10/nowy-certyfikat-root-ca.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/4700209706309836013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/4700209706309836013'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2017/10/nowy-certyfikat-root-ca.html' title='Nowy certyfikat ROOT CA'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-8740907050994533402</id><published>2016-10-19T04:38:00.001-07:00</published><updated>2016-10-19T04:47:38.602-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="podpis kwalifikowany"/><title type='text'>Nowe centrum CA</title><content type='html'>Listę centrów CA wystawiających podpisy kwalifikowane w Polsce możemy znaleźć pod adresem: &lt;a href=&quot;https://www.nccert.pl/tsl/PL_TSL.xml&quot;&gt;https://www.nccert.pl/tsl/PL_TSL.xml&lt;/a&gt;. Parsując taką listę mamy pewność, że korzystamy z aktualnej listy i znajdują się niej odpowiednie centra (np. nowe). Możemy w ten sposób zautomatyzować obsługę certyfikatów kwalifikowanych
w naszym systemie i sprawić, że nie będzie już konieczna zmiana konfiguracji (pliku, bazy danych z listą CA i CRL-ami).</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/8740907050994533402/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2016/10/nowe-centrum-ca.html#comment-form' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/8740907050994533402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/8740907050994533402'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2016/10/nowe-centrum-ca.html' title='Nowe centrum CA'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-655812238854738195</id><published>2014-06-16T12:55:00.002-07:00</published><updated>2016-10-19T04:47:30.700-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="podpis kwalifikowany"/><title type='text'>EUROCERT - nowe CA wydające certyfikaty kwalifikowane</title><content type='html'>Od nowego roku (2014) działa nowe (piąte) CA - &lt;a href=&quot;https://www.eurocert.pl&quot;&gt;EUROCERT&lt;/a&gt;- wydające certyfikaty kwalifikowane. Mam nadzieję, że firma będzie realną konkurencją dla pozostałych czterech CA i zapewni usługi o najwyższej jakości i konkurencyjnej cenie. Czas pokaże.

Certyfikat CA - &lt;a href=&quot;ftp://serwer1335250.home.pl/Prawo/EuroCert_QCA_2014.der&quot;&gt;ftp://serwer1335250.home.pl/Prawo/EuroCert_QCA_2014.der&lt;/a&gt;
Aktualna lista CRL - &lt;a href=&quot; http://crl.eurocert.pl/crl.crl&quot;&gt; http://crl.eurocert.pl/crl.crl&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/655812238854738195/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2014/06/eurocert-nowe-ca-wydajace-certyfikaty.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/655812238854738195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/655812238854738195'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2014/06/eurocert-nowe-ca-wydajace-certyfikaty.html' title='EUROCERT - nowe CA wydające certyfikaty kwalifikowane'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-1993770785071802051</id><published>2014-04-03T06:05:00.001-07:00</published><updated>2014-04-16T02:07:36.899-07:00</updated><title type='text'>Problemy z listą CRL CenCert do certyfikatu CA</title><content type='html'>W związku z wydaniem nowego certyfikatu CA firmy CenCert. Pojawiły się problemy z listą CRL do &quot;starego&quot; certyfikatu CA ważnego jeszcze do 07-04-2016 (dotychczasowa lista znajdująca się pod adresem&amp;nbsp;&lt;a href=&quot;http://www.cencert.pl/crl/enigma_ostatni_kwal.crl&quot; style=&quot;font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; margin: 0px; outline: none; padding: 0px;&quot;&gt;http://www.cencert.pl/crl/enigma_ostatni_kwal.crl&lt;/a&gt;&amp;nbsp;była podpisana &quot;nowym&quot; certyfikatem CA i to powodowało brak możliwości logowania i podpisu certyfikatami wydanymi przez &quot;stare&quot; CA m.in. w naszym systemie eCorpoNet). Po interwencji użytkowników firma CenCert wygenerowała CRL (&lt;a href=&quot;http://www.cencert.pl/crl/enigma_ostatni_kwal.crl&quot; style=&quot;font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; margin: 0px; outline: none; padding: 0px;&quot;&gt;http://www.cencert.pl/crl/enigma_ostatni_kwal.crl&lt;/a&gt;)&amp;nbsp;pasujący do starego certyfikatu CA a nowy CRL umieściła pod nowym linkiem &amp;nbsp;&lt;a href=&quot;http://www.cencert.pl/crl/enigma_ostatni_kwal_nowy.crl&quot; style=&quot;font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; margin: 0px; outline: none; padding: 0px;&quot;&gt;http://www.cencert.pl/crl/enigma_ostatni_kwal_nowy.crl&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Miejmy nadzieję, że to ostatnia wpadka tej firmy. CRL będą generować się poprawnie oraz serwery z nimi nie będą się już wyłączać.W razie problemów pozostaje przerzucić się na jakieś OCSP. Jest tylko jeden mały problem nie znam takiego darmowego OCSP. Jeśli ktoś wie o OCSP obsługującym certyfikaty kwalifikowane proszę o informacje w komentarzu.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/1993770785071802051/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2014/04/problemy-z-lista-crl-cencert-do.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/1993770785071802051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/1993770785071802051'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2014/04/problemy-z-lista-crl-cencert-do.html' title='Problemy z listą CRL CenCert do certyfikatu CA'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-1936139606887404384</id><published>2014-03-05T01:29:00.001-08:00</published><updated>2014-03-05T01:29:56.291-08:00</updated><title type='text'></title><content type='html'>&lt;html&gt;&lt;img src=&quot;http://yanosik24.pl/widget/74388.png&quot; alt=&quot;Widget Yanosik24.pl&quot;&gt;&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/1936139606887404384/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2014/03/blog-post.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/1936139606887404384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/1936139606887404384'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2014/03/blog-post.html' title=''/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-1320076253141537311</id><published>2013-12-18T02:04:00.002-08:00</published><updated>2014-06-25T13:42:57.217-07:00</updated><title type='text'>Aktualna na dzień 1 stycznia 2014 lista wystawców podpisu kwalifikowanego w Polsce</title><content type='html'>&lt;ul&gt;
&lt;ul&gt;
&lt;li class=&quot;notranslate&quot;&gt;&lt;a href=&quot;http://elektronicznypodpis.pl/&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;redArrow&quot;&gt;Krajowa Izba Rozliczeniowa &lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;redArrow&quot;&gt;&lt;a href=&quot;http://sigillum.pl/&quot; target=&quot;_blank&quot;&gt;Polska Wytwórnia Papierów Wartościowych (SIGILLUM)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;notranslate&quot;&gt;&lt;a href=&quot;http://www.certum.pl/certum/cert,oferta_podpis_elektroniczny.xml&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;redArrow&quot;&gt;Unizeto (CERTUM)&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;notranslate&quot;&gt;&lt;a href=&quot;http://www.enigma.com.pl/pl/pem-heart-signature&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;redArrow&quot;&gt;Enigma S.O.I.&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;redArrow&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;notranslate&quot;&gt;&lt;a href=&quot;https://www.eurocert.pl/&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;redArrow&quot;&gt;Eurocert&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;redArrow&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/1320076253141537311/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2013/12/aktualna-na-dzien-28-grudnia-2013-lista.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/1320076253141537311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/1320076253141537311'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2013/12/aktualna-na-dzien-28-grudnia-2013-lista.html' title='Aktualna na dzień 1 stycznia 2014 lista wystawców podpisu kwalifikowanego w Polsce'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-9163959668262890902</id><published>2013-12-10T02:42:00.002-08:00</published><updated>2013-12-10T02:43:47.115-08:00</updated><title type='text'>Mobicert - dostawca podpisu zwinął biznes?</title><content type='html'>Ostatni CRL ma ważność do 7 listopada 2013 roku. Obecnie nie da się poprawnie podpisywać/weryfikować kluczem wystawionym przez w/w centrum. Czyżby firma Mobicert przestała działać?</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/9163959668262890902/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2013/12/mobicert-dostawca-podpisu-zwina-biznes.html#comment-form' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/9163959668262890902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/9163959668262890902'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2013/12/mobicert-dostawca-podpisu-zwina-biznes.html' title='Mobicert - dostawca podpisu zwinął biznes?'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-6811029334463038435</id><published>2013-09-24T04:38:00.002-07:00</published><updated>2013-09-24T04:44:27.622-07:00</updated><title type='text'>Szukanie numeru slotu (-a?) </title><content type='html'>&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;private void initialize()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throws Exception&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; long hSession = 0L;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CK_C_INITIALIZE_ARGS cia = new CK_C_INITIALIZE_ARGS();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CK_ATTRIBUTE[] attrs = new CK_ATTRIBUTE[1];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CK_ATTRIBUTE attr = new CK_ATTRIBUTE();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CK_TOKEN_INFO ckti = null;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cia.pReserved = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cia.flags = 0L;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PKCS11 p11 = null;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Method[] methods = PKCS11.class.getMethods();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Method p11GetInstance = null;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; methods.length; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!methods[i].getName().equals(&quot;getInstance&quot;)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p11GetInstance = methods[i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File _fpk11LibPath = new File(this.pkcs11Path);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.pkcs11Path = _fpk11LibPath.getCanonicalPath();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String version = System.getProperty(&quot;java.version&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((version.indexOf(&quot;1.6&quot;) &amp;gt; -1) || (version.indexOf(&quot;1.7&quot;) &amp;gt; -1)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p11 = (PKCS11)p11GetInstance.invoke(null, new Object[] { this.pkcs11Path, &quot;C_GetFunctionList&quot;, cia,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Boolean.valueOf(false) });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (version.indexOf(&quot;1.5&quot;) &amp;gt; -1) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p11 = (PKCS11)p11GetInstance.invoke(null, new Object[] { this.pkcs11Path, cia, Boolean.valueOf(false) });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception(&quot;Unsuported version of VM&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception(&quot;Problem using java reflection with pkcs11 classes::&quot; + e.getMessage());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; long[] slots;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; slots = p11.C_GetSlotList(true);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception(&quot;Getting Slot List:: &quot; + e.getMessage());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (long k : slots) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hSession = p11.C_OpenSession(k, 4L, null, null);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception(&quot;Opening a new Session:: &quot; + e.getMessage());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attr.type = 0L;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attr.pValue = Long.valueOf(1L);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attrs[0] = attr;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p11.C_FindObjectsInit(hSession, attrs);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; long[] l = p11.C_FindObjects(hSession, MAX_CERTS);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p11.C_FindObjectsFinal(hSession);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (long i : l) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CK_ATTRIBUTE attrPriv = new CK_ATTRIBUTE();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CK_ATTRIBUTE[] attrsP = new CK_ATTRIBUTE[2];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attrPriv.type = 0L;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attrPriv.pValue = Long.valueOf(1L);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attr.type = 258L;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attr.pValue = getID(hSession, i, p11);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (attr.pValue == null) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attrsP[0] = attrPriv;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; attrsP[1] = attr;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p11.C_FindObjectsInit(hSession, attrsP);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; long[] m = p11.C_FindObjects(hSession, MAX_CERTS);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (long n : m) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; list.add(new X509Info(loadX509Cert(hSession, i, p11), &lt;b&gt;Long.valueOf(k)&lt;/b&gt;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p11.C_FindObjectsFinal(hSession);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception(&quot;Unsuccesfully FindObjects sequence:: &quot; + e.getMessage());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p11.C_CloseSession(hSession);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception(&quot;Cannot close sesion::&quot; + e.getMessage());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p11 = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Runtime.getRuntime().gc();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new Exception(&quot;Cannot Finalize::&quot; + e.getMessage());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;/*&lt;br /&gt;&amp;nbsp;* To change this template, choose Tools | Templates&lt;br /&gt;&amp;nbsp;* and open the template in the editor.&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;&lt;br /&gt;import java.security.cert.X509Certificate;&lt;br /&gt;&lt;br /&gt;public class X509Info&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private long slot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private X509Certificate x509cert;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public X509Info(X509Certificate x509cert, Long slotNr)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.x509cert = x509cert;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.slot = slotNr.longValue();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return the slot&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public long getSlot()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return slot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param slot the slot to set&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setSlot(long slot)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.slot = slot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public X509Certificate getX509cert()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return x509cert;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setX509cert(X509Certificate x509cert)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.x509cert = x509cert;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Jeśli dostawca to KIR lub SIGILLUM getSlot() jako parametr slotNo pkcs11ConfigSettings.append(&quot;slotListIndex = &quot;).append(slotNo).append(&quot;\n&quot;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/6811029334463038435/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2013/09/szukanie-numeru-slotu-a.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/6811029334463038435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/6811029334463038435'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2013/09/szukanie-numeru-slotu-a.html' title='Szukanie numeru slotu (-a?) '/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-8815932163189944957</id><published>2012-10-31T10:32:00.000-07:00</published><updated>2012-10-31T10:40:59.184-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="sunmscapi"/><title type='text'>Sun MSCAPI</title><content type='html'>&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;KeyStore keyStore = KeyStore.getInstance(&quot;Windows-MY&quot;, &quot;SunMSCAPI&quot;);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;keyStore.load(null, null);&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div class=&quot;line number3 index2 alt2&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;code class=&quot;java plain&quot;&gt;java.util.Enumeration en = &lt;/code&gt;&lt;code class=&quot;java plain&quot;&gt;keyStore .aliases();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;line number4 index3 alt1&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;line number5 index4 alt2&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;code class=&quot;java keyword&quot;&gt;while&lt;/code&gt; &lt;code class=&quot;java plain&quot;&gt;(en.hasMoreElements()) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;line number6 index5 alt1&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;code class=&quot;java spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;java plain&quot;&gt;String aliasKey = (String) en.nextElement();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;code class=&quot;java spaces&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;code class=&quot;java plain&quot;&gt;Certificate[] chain = &lt;/code&gt;&lt;code class=&quot;java plain&quot;&gt;keyStore.getCertificateChain(aliasKey);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;line number7 index6 alt2&quot;&gt;
&lt;code class=&quot;java plain&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;} &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/code&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Ktoś korzystał i ma doświadczenie?</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/8815932163189944957/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2012/10/sunmscapi.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/8815932163189944957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/8815932163189944957'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2012/10/sunmscapi.html' title='Sun MSCAPI'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-4886501647352870632</id><published>2011-10-05T09:57:00.000-07:00</published><updated>2011-10-06T06:12:40.686-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sun pkcs11"/><title type='text'>Sun PKCS#11</title><content type='html'>Dostawca Sun PKCS#11 miał problematyczną konfigurację. Przed dodaniem providera trzeba było podać numer slotu (pod którym spodziewaliśmy się klucza). KIR / SIGILLUM instaluje swoje klucze na pierwszym slocie (nie podawałem go wogóle w konfiguracji), a UNIZETO na trzecim:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;File tmpConfigFile = File.createTempFile(&quot;pkcs11-&quot;, &quot;conf&quot;);&lt;br /&gt;
tmpConfigFile.deleteOnExit();&lt;br /&gt;
PrintWriter configWriter = new PrintWriter(new FileOutputStream(&lt;br /&gt;
tmpConfigFile), true);&lt;br /&gt;
configWriter.println(&quot;name=SmartCard&quot;);&lt;br /&gt;
configWriter.println(&quot;library=&quot; + getPkcs11Path());&lt;br /&gt;
&lt;b&gt;configWriter.println(&quot;slotListIndex= &quot; + &lt;b&gt;numerSlot&lt;/b&gt;);&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
// load security provider&lt;br /&gt;
this.pkcs11Provider = new SunPKCS11(tmpConfigFile.getAbsolutePath());&lt;br /&gt;
Security.addProvider(this.pkcs11Provider);&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/4886501647352870632/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2011/10/sun-pkcs11.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/4886501647352870632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/4886501647352870632'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2011/10/sun-pkcs11.html' title='Sun PKCS#11'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-2929242838395910251</id><published>2011-10-04T08:59:00.001-07:00</published><updated>2011-10-05T03:29:51.157-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="offtopic"/><title type='text'></title><content type='html'>Dzisiaj chciałem polecić dwa portale, z których korzystam, kupując taniej waluty obce.&lt;br /&gt;
Zawsze można zaoszczędzić parę złotych, więc dlaczego tego nie wykorzystać.&lt;br /&gt;
Po kliknięciu w poniższy bannery, zostaniecie przekierowaniu na stronę Walutomatu lub Cinkciarza.&lt;br /&gt;
&lt;br /&gt;
&lt;object classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0&quot; width=&quot;180&quot; height=&quot;150&quot; id=&quot;36&quot; align=&quot;middle&quot;&gt; &lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;false&quot; /&gt;&lt;param name=&quot;movie&quot; value=&quot;https://www.walutomat.pl/pp_generator.php?uid=1006&amp;bid=36&quot; /&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#ffffff&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;opaque&quot;&gt;&lt;embed src=&quot;https://www.walutomat.pl/pp_generator.php?uid=1006&amp;bid=36&quot; wmode=&quot;opaque&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;180&quot; height=&quot;150&quot; name=&quot;36&quot; align=&quot;middle&quot; allowScriptAccess=&quot;always&quot; allowFullScreen=&quot;false&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.adobe.com/go/getflashplayer_pl&quot; /&gt; &lt;/object&gt;    &lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;https://www.cinkciarz.pl/baner/cinkciarz_baner_300x60.swf?click=https://www.cinkciarz.pl/baners/baner/113098033365/113107186726&quot;
     width=&quot;300&quot; height=&quot;60&quot;&gt;
     &lt;param name=&quot;movie&quot; value=&quot;cinkciarz_baner_300x60.swf&quot; /&gt;    &lt;/object&gt;</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/2929242838395910251/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2011/10/blog-post.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/2929242838395910251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/2929242838395910251'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2011/10/blog-post.html' title=''/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-8801488410124946409</id><published>2011-10-02T11:12:00.000-07:00</published><updated>2013-10-16T02:43:42.894-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iaik"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="pkcs11"/><category scheme="http://www.blogger.com/atom/ns#" term="podpis kwalifikowany"/><category scheme="http://www.blogger.com/atom/ns#" term="sun pkcs11"/><title type='text'>Podpis kwalifikowany</title><content type='html'>W Javie korzystam z bibliotek standardu PKCS#11, które są implementowane przez następujące pliki:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;KIR (SZAFIR) / SIGILLUM (PWPW) - &lt;b&gt;ccpkip11.dll&lt;/b&gt; (taka samą nazwę pliku, ale inną lokalizację ma sterownik karty 64-bit),&lt;/li&gt;
&lt;li&gt;UNIZETO (CERTUM) - &lt;b&gt;cryptoCertum3PKCS.dll&lt;/b&gt; (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),&lt;/li&gt;
&lt;li&gt;MOBICERT - dla nowszych kart Siemensa od połowy 2010 roku - &lt;b&gt;cmp11.dll&lt;/b&gt; i &lt;b&gt;cmp1164.dll&lt;/b&gt; (dla systemów 64-bit),&lt;/li&gt;
&lt;li&gt;CENCERT - &lt;b&gt;enigmap11.dll&lt;/b&gt; i &lt;b&gt;enigmap11-x64.dll&lt;/b&gt; (dla systemów 64-bit).&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
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).&amp;nbsp; 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).&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&amp;nbsp; &amp;nbsp; Jedyną wadą jest konieczność dołączania nowego jara (iaikPkcs11wrapper.jar) i biblioteki dll do systemu obsługującego karty (pkcs11wrapper.dll).&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/8801488410124946409/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2011/10/podpis-kwalifikowany.html#comment-form' title='Komentarze (28)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/8801488410124946409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/8801488410124946409'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2011/10/podpis-kwalifikowany.html' title='Podpis kwalifikowany'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>28</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597603903765716082.post-249248187548209990</id><published>2011-10-02T04:15:00.000-07:00</published><updated>2011-10-02T04:15:32.782-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>Pierwszy post</title><content type='html'>Witajcie!&lt;br /&gt;
Na blogu będę opisywał ciekawe przypadki użycia języka Java oraz wybrane zagadnienia z pytań przygotowujących do egzaminu OCJP (dawniej SCJP).</content><link rel='replies' type='application/atom+xml' href='http://javaczysen.blogspot.com/feeds/249248187548209990/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://javaczysen.blogspot.com/2011/10/startujemy.html#comment-form' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/249248187548209990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597603903765716082/posts/default/249248187548209990'/><link rel='alternate' type='text/html' href='http://javaczysen.blogspot.com/2011/10/startujemy.html' title='Pierwszy post'/><author><name>filipczako</name><uri>http://www.blogger.com/profile/16460816887151969996</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>