| Предыдущий | Следующий |
| DIGSIG_E_DECODE | DIGSIG_E_CRYPTO |
DIGSIG_E_EXTENSIBILITY
Что означает DIGSIG_E_EXTENSIBILITY
DIGSIG_E_EXTENSIBILITY (0x800B0007) — Расширения используются там, где должны использоваться атрибуты, или наоборот.
При результате 0x800B0007 граница диагностики проходит внутри подсистемы «цифровые подписи», в области «кодирование, декодирование и криптографическую проверку подписи». Здесь сообщение «расширения используются там, где должны использоваться атрибуты, или наоборот» связано с темой «extensibility».
Что проверить и как подтвердить исправление
Не начинайте с общего сброса компонента: сопоставьте первый отказ с фактическими параметрами операции. При 0x800B0007 и условии «расширения используются там, где должны использоваться атрибуты, или наоборот» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Чтобы локализовать 0x800B0007, соберите формат контейнера, алгоритм и provider, сертификат, цепочку доверия и точный этап encode/decode/verify; отдельно запишите OID, HRESULT, ITU. Затем для 0x800B0007 сравните исправный и неуспешный запуск в части «extensibility», меняя одно условие за раз.
После локализации 0x800B0007 действуйте по контракту подсистемы: проверяйте исходные байты и параметры алгоритма; не пересоздавайте подпись поверх повреждённого или непроверенного контейнера. Для 0x800B0007 и условия «расширения используются там, где должны использоваться атрибуты, или наоборот» неизменённый повтор без нового состояния не считается исправлением.
Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x800B0007 это надёжнее единичного успеха на других данных.
Документация для результата 0x800B0007: Microsoft Open Specifications: HRESULT values · ITU-T X.690: BER, CER and DER · RFC 5652: Cryptographic Message Syntax.
Нужно найти другой код? Найти другой код состояния или ошибки.