| Предыдущий | Следующий |
| CRYPT_E_BAD_MSG | CRYPT_E_PENDING_CLOSE |
CRYPT_E_NO_SIGNER
Что означает CRYPT_E_NO_SIGNER
CRYPT_E_NO_SIGNER: В подписанном сообщении отсутствует signer по запрошенному индексу.
Что проверить
- Получите актуальное число signers из сообщения перед обращением по индексу.
- Проверьте, действительно ли входной CMS является SignedData, а не другой message type.
- Если signers изменялись через CryptMsgControl, не используйте сохранённый ранее индекс после изменения структуры сообщения.
Что делать
Обрабатывайте отсутствие signer как свойство конкретного сообщения. Поиск сертификата в системном store не создаст signer, которого нет в CMS; при необходимости сообщение должно быть заново сформировано и подписано отправителем.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.