Ошибка при чтении сертификата sun/security/pkcs11/SunPKCS11 (eToken)

Обновлено 24.03.2015

IT security logo

Всем привет! Уважаемые читатели и гости IT сайта Puayilistnik. В предыдущей статье мы с вами научились отключать подсказки в Windows 8.1, я описал случаи когда это полезно. Сегодня я продолжу делиться с вами своим опытом в системном администрировании и хочу рассказать, как я встретился с ошибкой чтения USB токена eToken, в результате чего пользователь не мог войти в клиент-банк Online. Думаю, что у всех на работе есть люди, кто перешел на такой формат работы с банками, так что этот пост вам обязательно будет полезен.

Что такое SunPKCS11

Вот таким образом выглядит ошибка при попытке обратиться к eToken.

sun/security/pkcs11/SunPKCS11 (eToken)

Ошибка при чтении сертификата sun-security-pkcs11-SunPKCS11 (eToken)

SunPKCS11 - это реализация интерфейса PKCS#11 от компании Sun Microsystems (теперь Oracle). PKCS#11 (Cryptographic Token Interface Standard) - это стандартный интерфейс для программного взаимодействия с криптографическими токенами, такими как смарт-карты или USB-токены. SunPKCS11 предоставляет Java-приложениям возможность взаимодействовать с криптографическими токенами, используя стандартный интерфейс PKCS#11. Он предоставляет доступ к функциям токена, таким как генерация и хранение ключей, подпись и проверка цифровых подписей, шифрование и дешифрование данных.

SunPKCS11 может использоваться в различных сценариях, где требуется безопасное хранение и использование криптографических ключей. Некоторые из таких сценариев включают:

  1. ✅Аутентификация и авторизация: SunPKCS11 может использоваться для аутентификации пользователей с помощью криптографических токенов. Пользователь может использовать свою смарт-карту или USB-токен для подтверждения своей личности и получения доступа к защищенным ресурсам. Очень часто это стало использоваться при входе в банк-Online.
  2. ✅Шифрование и подпись данных: ПО позволяет использовать криптографические токены для защиты данных с помощью шифрования и создания цифровых подписей. Это может быть полезно, например, при обмене конфиденциальными данными или проверке целостности данных.
  3. ✅Защита ключей: SunPKCS11 обеспечивает безопасное хранение и использование криптографических ключей на криптографических токенах. Это предотвращает несанкционированный доступ к ключам и обеспечивает их конфиденциальность.

Как устранить ошибку sun/security/pkcs11/SunPKCS11 (eToken)

Решение удалите java - 64 битные. И переустановите на 32-x битную версию. В PowerShell вы можете использовать команду Get-WmiObject для определения версии и разрядности установленного Java. Запустите PowerShell в режиме администратора и выполните код:

$javaVersion = Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -like "*Java*"}
$javaVersion.Version

Этот код найдет все установленные продукты, содержащие слово "Java" в своем имени, и выведет версию Java.

PowerShell определить версию Java

Еще вариант определить разрядность Java, вы можете использовать следующий код:

$javaPath = (Get-Command java).Source
$javaBits = [System.IntPtr]::Size * 8
$javaBits

PowerShell Определить разрядность Java

Ну и объединим скрипт в один, для удобства:

$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

PowerShell узнаем версию и разрядность Java

Этот код выполняет следующие действия:

  1. ✅Использует Get-WmiObject для получения установленных продуктов Java.
  2. ✅Получает путь к исполняемому файлу Java с помощью (Get-Command java).Source.
  3. ✅Определяет разрядность системы, на которой запущен PowerShell, с помощью [System.IntPtr]::Size * 8.
  4. ✅Создает пустую таблицу $javaTable.
  5. ✅В цикле проходит по каждому продукту Java и добавляет его версию и разрядность в $javaTable в виде объекта [PSCustomObject].
  6. ✅Выводит таблицу $javaTable с помощью Format-Table -AutoSize.

Вот так вот просто решить ошибку при чтении сертификата sun/security/pkcs11/SunPKCS11 (eToken). Материал сайта Pyatilistnik.

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *