Я нахожусь в ситуации, когда мое программное обеспечение вызывает стороннюю веб-службу (SOAP) и использует WS-Security для проверки подлинности клиента с использованием сертификата клиента и цифровой подписи содержимого сообщения. Поставщик требует, чтобы сертификат, который я им отправляю, имел цепочку доверия, исходящую от доверенного центра (Verisign, Thawte и т. Д.) - они не позволят мне самоподписать.
Когда вы заходите на сайты, продающие сертификаты, у большинства есть только 3 варианта:
«Подписание документов» кажется наиболее близким к тому, что мне нужно, но большая часть литературы на сайтах говорит о том, как их можно использовать для подписи документов Word и PDF для дополнительного уровня безопасности, так как на самом деле имеется человеческий «знак» для документ.
Есть ли способ купить сертификат специально для автоматической подписи двоичных данных / сообщений, который будет работать с WS-Security и не ограничен скоростью? (например, на некоторых сайтах требуется указать время и «позвонить домой», чтобы можно было отследить, сколько документов вы подписали)
Похоже, что это будет обычный запрос для сценариев B2B, но документации очень мало.
Начните с сертификата аутентификации клиента, который, вероятно, достаточно хорош. У вас есть два варианта:
1) Купите электронный сертификат. Это также клиентские сертификаты, которые позволяют подписывать и стоят недорого.
2) Получите бесплатный сертификат сервера от Letsencrypt. Они поставляются с указанными ниже расширениями, которые могут быть достаточно хорошими для вашего варианта использования:
X509v3 extensions:
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Basic Constraints: critical
Единственная проблема для них заключается в том, что вам необходимо иметь действующий домен для их запроса. Хорошая новость в том, что сертификат предоставляется бесплатно.