Самый простой способ сопоставления - просто сгенерировать подпись с закрытым ключом и затем попробовать все сертификаты для проверки подписи. Если это не удается, поскольку сертификат предназначен только для шифрования, вы можете либо переопределить его, либо зашифровать что-либо, а затем использовать закрытый ключ для расшифровки.
Если какое-либо из этих действий выполнено успешно, то вы знаете, что у вас есть совпадение; эти операции по определению могут быть успешными только с правильным ключом, независимо от используемого алгоритма. Обратите внимание, что вы должны убедиться, что вы не подписываете и не шифруете что-либо конфиденциальное Лучше выкинь результат в итоге.
Вы должны быть уверены, что используете правильную операцию для схемы, используемой во время дешифрования / проверки (но я полагаю, что это дано). Кстати, ECDSA можно использовать только для генерации / подписи подписи.
Единственный случай, который описан выше, не является хорошей идеей, когда у вас есть юридически обязательные подписи или счетчик для использования закрытого ключа (например, на аппаратном устройстве).
Обратите внимание, что для правильного шифрования / проверки вам необходимо доверять открытому ключу. Это означает, что вам необходимо проверить сертификат и подпись на сертификате.