Я пытаюсь проверить сертификат на встроенной плате вручную, потому что он не поддерживает Openssl или другие библиотеки. Однако в нем есть библиотеки для хэшей MD5 и SHA1 и шифрования RSA.
Из того, что я понимаю для проверки сертификата, сначала вычислите хэш SHA1 (или MD5) сертификата; затем декодируйте подпись, используя открытый ключ CA, чтобы получить хешированное значение. Эти два значения хеша должны быть одинаковыми.
SHA1-хеш дает 20-байтовое значение, а MD5 - 16-байтовое значение. Однако RSA расшифровка подписи не делает. Если ключ CA равен 1024 битам, подпись декодирования будет 80 байтов; если ключ CA равен 512 битам, декодированная подпись будет 40 байтов. Поэтому я не могу сравнить 20-байтовое значение SHA1 с 40- или 80-байтовой декодированной подписью.
Я что-то не так делаю? Или я пропускаю шаг?