Я ищу кросс-платформенный способ обмена открытыми ключами для подписания ECDSA. У меня было замечательное дело с точки зрения производительности с CngKey и стандартными.NET-криптовыми библиотеками, но тогда я не мог понять, как открытый (33) (или 65) байтовый открытый ключ (с использованием secp256r1/P256) превращается в 104 байта по MS.. Ergo, я не мог поддерживать кросс-платформенную подпись и проверку.
Сейчас я использую BouncyCastle, но священная гранада - это МЕДЛЕННО!
Итак, ищите предложения по следующим требованиям:
- Кросс-платформа/Языки (сервер -.NET, но это поддерживается через интерфейс JSON/Web.API)
- JavaScript, Ruby, Python, C++ и т.д.
- Не сумасшедший, как медленный на сервере
- Не так больно медленно люди не могут использовать его на клиенте.
Клиент должен иметь возможность подписывать сообщение, сервер должен иметь возможность проверить подпись с открытым ключом, который был обменен при регистрации в службе.
В любом случае, Идеи были бы замечательными... Спасибо