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.

Преди извикване на метода CertPathValidator.validate(), се построява<br />

списък от TrustAnchor обекти, съдържащи на доверените Root-сертификати<br />

задава се да не се ползват CRL списъци и се изтрива последния сертификат<br />

от веригата, която ще се проверява (вече обяснихме защо).<br />

Ако верификацията е успешна, методът не връща нищо, а ако веригата е<br />

невалидна, се хвърля изключение CertPathValidatorException, в което се<br />

съдържа описание на проблема и номера на невалидния сертификат (ако<br />

има такъв).<br />

2.2. Достъп до смарт карти от Java<br />

От версия 1.5 на Java 2 платформата стандартно се поддържа достъп до<br />

смарт карти посредством интерфейса PKCS#11 (Cryptographic Token Interface<br />

Standard). Връзката с него се осъществява чрез доставчика на криптографски<br />

услуги “Sun PKCS#11 Provider”.<br />

Програмен интерфейс PKCS#11<br />

Както знаем, PKCS#11 е стандарт, който предоставя програмен интерфейс за<br />

достъп до смарт карти и други криптоустройства (security tokens), и найчесто<br />

е имплементиран в динамична библиотека (.dll или .so файл), която<br />

се доставя заедно с драйверите за смарт картата.<br />

Например, ако използваме ISO 7816 съвместима Utimaco Safeware смарт<br />

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

“Utimaco SafeGuard Smartcard Provider”, който идва заедно с картата. След<br />

инсталиране на този софтуер под Windows XP, библиотеката, която имплементира<br />

PKCS#11 е файлът C:\WINDOWS\system32\pkcs201n.dll. При други<br />

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

в друг файл, но би трябвало да е налична.<br />

Sun PKCS#11 Provider<br />

В Java 1.5 достъп за до смарт карти се използва доставчикът на криптографски<br />

услуги “Sun PKCS#11 Provider”.<br />

За разлика от повечето JCA доставчици, Sun PKCS#11 Provider не имплементира<br />

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

(native) PKCS#11 имплементация, към която пренасочва всички<br />

операции. Тази имплементация трябва да е реализирана като .dll файл в<br />

Windows или .so файл в UNIX и Linux [Sun PKCS#11].<br />

Например ако използваме Utimaco SafeGuard Smartcard Provider за Windows,<br />

PKCS#11 имплементацията е библиотеката pkcs201n.dll. Ако използваме<br />

друга смарт карта и други драйвери, файлът е друг.<br />

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

За да бъде използван “Sun PKCS#11 Provider”, той първо трябва да се<br />

регистрира като доставчик на криптографски услуги в JCA (Java<br />

58

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

Saved successfully!

Ooh no, something went wrong!