Свойство files ожидает список файлов, поэтому они должны иметь расширения. Свойство files заставит TSC анализировать только те файлы, которые явно указаны в списке.
Если вы хотите проанализировать весь подкаталог, вероятно, было бы лучше использовать свойство includes
.
Во-первых, вам нужно установить поддержку PKCS # 11. Это некоторый нативный код, который, вероятно, поставлялся с вашим устройством для чтения карт, предоставляющим .dll (или .so), который обеспечивает интерфейс PKCS # 11. Другое программное обеспечение в системе, такое как продукты Mozilla и поставщик PKCS # 11 от Sun, использует эту библиотеку. (Продукты Microsoft часто используют другой интерфейс, «CAPI».)
Затем, следуя указаниям в Справочное руководство PKCS # 11, создайте SunPKCS11
провайдера. Единственные свойства, которые я должен был указать в моей настройке, - это расположение собственной «библиотеки», которая была установлена, и суффикс «name» для этого провайдера. Свойство «name» добавляется к «SunPKCS11-», поэтому, если вы укажете «CAC» для имени, позже вы можете найти поставщика
с помощью Security.getProvider ("SunPKCS11-CAC")
.
Затем вы можете использовать стандартные системные свойства JSSE javax.net. ssl.keyStore
(со значением «NONE»
) и javax.net.ssl.keyStoreType
(со значением «PKCS11»
) предоставить JSSE доступ к ключевому материалу в CAC. Вам не нужно устанавливать свойство пароля, потому что собственный код должен запрашивать у пользователя его PIN-код, когда это необходимо.
Предостережение заключается в том, что из CAC доступен только сертификат «конечного объекта» пользователя. Чтобы построить доверенную цепочку, большинство серверов ожидают, что клиент отправит любые промежуточные сертификаты. Обойти это возможно, но сложно, поскольку это включает в себя реализацию вашего собственного javax.net.ssl.X509KeyManager
. Если сервер, с которым вы работаете, требует полной цепочки, пожалуйста, оставьте следующий вопрос.