| Предыдущий | Следующий |
| CRYPT_E_MSG_ERROR | CRYPT_E_OID_FORMAT |
CRYPT_E_UNKNOWN_ALGO
Как локализовать состояние
Для CRYPT_E_UNKNOWN_ALGO штатное условие — Неизвестный криптографический алгоритм. Код принадлежит CryptoAPI, а практическая точка проверки здесь — выбор provider и алгоритма.
Что нужно для воспроизведения
- зафиксируйте первый provider/revocation status и параметры, относящиеся к unknown, algo до очистки состояния; для условия «Неизвестный криптографический алгоритм» эти данные позволяют воспроизвести исходную точку отказа.
- локализуйте
CMS,PKCS#7,OID,der, поскольку именно это отличает «Неизвестный криптографический алгоритм» от соседних HRESULT того же семейства. - сохраните signer/recipient index и message type:
CMS,PKCS#7,OID,der. Если параметр меняется между попытками, сравнение результата «Неизвестный криптографический алгоритм» теряет диагностическую ценность. В исходной документации этой страницы встречаются технические маркерыCMS,PKCS#7,OID,der; их фактические значения полезно приложить к трассировке.
Проверка после изменения
проведите контрольный вызов выбор provider и алгоритма, изменяя только предварительное условие, связанное с «Неизвестный криптографический алгоритм»; остальные входные данные и объект оставьте прежними.
сведите к одному различию успешный и неуспешный случаи по признаку «Неизвестный криптографический алгоритм». Исправление подтверждено, когда прежняя стадия проходит и следующий ожидаемый шаг получает корректное состояние.
Технические ссылки
- Microsoft: CryptMsgOpenToDecode
- Microsoft: CryptVerifyMessageSignature
- Портал криптографии Windows
- Microsoft: Cryptography tools
Нужно найти другой код? Найти другой код состояния или ошибки.