Ошибка при чтении сертификата sun/security/pkcs11/SunPKCS11 (eToken)
Всем привет! Уважаемые читатели и гости IT сайта Puayilistnik. В предыдущей статье мы с вами научились отключать подсказки в Windows 8.1, я описал случаи когда это полезно. Сегодня я продолжу делиться с вами своим опытом в системном администрировании и хочу рассказать, как я встретился с ошибкой чтения USB токена eToken, в результате чего пользователь не мог войти в клиент-банк Online. Думаю, что у всех на работе есть люди, кто перешел на такой формат работы с банками, так что этот пост вам обязательно будет полезен.
Что такое SunPKCS11
Вот таким образом выглядит ошибка при попытке обратиться к eToken.
SunPKCS11 - это реализация интерфейса PKCS#11 от компании Sun Microsystems (теперь Oracle). PKCS#11 (Cryptographic Token Interface Standard) - это стандартный интерфейс для программного взаимодействия с криптографическими токенами, такими как смарт-карты или USB-токены. SunPKCS11 предоставляет Java-приложениям возможность взаимодействовать с криптографическими токенами, используя стандартный интерфейс PKCS#11. Он предоставляет доступ к функциям токена, таким как генерация и хранение ключей, подпись и проверка цифровых подписей, шифрование и дешифрование данных.
SunPKCS11 может использоваться в различных сценариях, где требуется безопасное хранение и использование криптографических ключей. Некоторые из таких сценариев включают:
- ✅Аутентификация и авторизация: SunPKCS11 может использоваться для аутентификации пользователей с помощью криптографических токенов. Пользователь может использовать свою смарт-карту или USB-токен для подтверждения своей личности и получения доступа к защищенным ресурсам. Очень часто это стало использоваться при входе в банк-Online.
- ✅Шифрование и подпись данных: ПО позволяет использовать криптографические токены для защиты данных с помощью шифрования и создания цифровых подписей. Это может быть полезно, например, при обмене конфиденциальными данными или проверке целостности данных.
- ✅Защита ключей: SunPKCS11 обеспечивает безопасное хранение и использование криптографических ключей на криптографических токенах. Это предотвращает несанкционированный доступ к ключам и обеспечивает их конфиденциальность.
Как устранить ошибку sun/security/pkcs11/SunPKCS11 (eToken)
Решение удалите java - 64 битные. И переустановите на 32-x битную версию. В PowerShell вы можете использовать команду Get-WmiObject для определения версии и разрядности установленного Java. Запустите PowerShell в режиме администратора и выполните код:
$javaVersion.Version
Этот код найдет все установленные продукты, содержащие слово "Java" в своем имени, и выведет версию Java.
Еще вариант определить разрядность Java, вы можете использовать следующий код:
$javaBits = [System.IntPtr]::Size * 8
$javaBits
Ну и объединим скрипт в один, для удобства:
$javaVersion = Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -like "*Java*"}
$javaPath = (Get-Command java).Source
$javaBits = [System.IntPtr]::Size * 8
$javaTable = @()
foreach ($version in $javaVersion) {
$javaTable += [PSCustomObject]@{
Version = $version.Version
Bits = $javaBits
}
}
$javaTable | Format-Table -AutoSize
Этот код выполняет следующие действия:
- ✅Использует Get-WmiObject для получения установленных продуктов Java.
- ✅Получает путь к исполняемому файлу Java с помощью (Get-Command java).Source.
- ✅Определяет разрядность системы, на которой запущен PowerShell, с помощью [System.IntPtr]::Size * 8.
- ✅Создает пустую таблицу $javaTable.
- ✅В цикле проходит по каждому продукту Java и добавляет его версию и разрядность в $javaTable в виде объекта [PSCustomObject].
- ✅Выводит таблицу $javaTable с помощью Format-Table -AutoSize.
Вот так вот просто решить ошибку при чтении сертификата sun/security/pkcs11/SunPKCS11 (eToken). Материал сайта Pyatilistnik.