24.12.2014 Views

Download - Svetlin Nakov

Download - Svetlin Nakov

Download - Svetlin Nakov

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Cryptography Architecture). Регистрацията може да стане статично или динамично<br />

(по време на изпълнение).<br />

Статична регистрация на Sun PKCS#11 Provider<br />

Статичната регистрация изисква да се промени файлът %JAVA_HOME%/lib/<br />

security/java.security и в него да се добави още един доставчик на<br />

криптографски услуги, например по следния начин:<br />

# Configuration for security providers 1..6 ommitted<br />

security.provider.7=sun.security.pkcs11.SunPKCS11 C:\smartcards\config\pkcs11.cfg<br />

Посоченият файл pkcs11.cfg трябва да съдържа настройките на Sun<br />

PKCS#11 Provider. Той представлява текстов файл, който описва някои<br />

параметри, като например пътя до PKCS#11 библиотеката.<br />

Динамична регистрация на Sun PKCS#11 Provider<br />

При динамична регистрация на “Sun PKCS#11 Provider” трябва да се<br />

инстанцира класът sun.security.pkcs11.SunPKCS11 като му се подаде за<br />

параметър конфигурационният файл, от който да прочете настройките си, и<br />

след това да се регистрира в JCA. Ето пример как може да стане това:<br />

String pkcs11ConfigFile = "c:\\smartcards\\config\\pkcs11.cfg";<br />

Provider pkcs11Provider = new sun.security.pkcs11.SunPKCS11(pkcs11ConfigFile);<br />

Security.addProvider(pkcs11Provider);<br />

Конфигурационен файл на Sun PKCS#11 Provider<br />

И при статичната и при динамичната регистрация е необходим конфигурационен<br />

файл, от който класът SunPKCS11 да прочете пътя до библиотеката,<br />

която имплементира PKCS#11 стандарта. Ето пример за такъв конфигурационен<br />

файл:<br />

pkcs11.cfg<br />

name = SmartCard<br />

library = c:\windows\system32\pkcs201n.dll<br />

Както се вижда, файлът съдържа две настройки: name и library. Стойността<br />

на параметъра name се използва при образуване на името за инстанцията на<br />

PKCS#11 доставчика в JCA, а параметърът library задава пътя до<br />

библиотеката, която имплементира PKCS#11. Ако трябва да се работи с<br />

няколко смарт карти едновременно Sun PKCS#11 Provider, трябва да се<br />

регистрира няколко пъти с различни имена.<br />

Конфигурационният файл може да задава различни параметри, които са<br />

описани в документацията, но задължителни са само name и library.<br />

59

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!