Я пытаюсь зарегистрировать веб-перехватчик для команд Microsoft, чтобы получать обновления после отправки сообщения в какой-либо чат. По-видимому, способ сделать это в соответствии с Microsoft API — отправить запрос с «encryptionCertificate» следующим образом: Теперь я пытаюсь выяснить, что должно быть в поле EncryptionCertificate, но я не смог найти четкого ответа в документации. Единственное, что я понял, это то, что поле содержит «Сертификат» в кодировке base64, что приводит меня к тому же вопросу. Что это за сертификат и как его найти.
Кто-нибудь, кто имеет некоторый опыт работы с MS API или знает что-нибудь об этом, и может помочь? Очень ценные ребята
Вот также некоторые наивные попытки, которые я предпринял, и каковы их результаты:
"encryptionCertificate": "YWJjZGVmZw==", что привело к: Ошибка проверки сертификата: не удается найти запрошенный объект,
"encryptionCertificate": "klsjdaadnkjadn", ошибка проверки сертификата: недопустимая длина для массива символов Base-64 или строки
"encryptionCertificate": null, Сертификат не может быть пустым
encryptionCertificate
содержит закодированное по основанию 64 значение открытого ключа.
Требования к открытому ключу:
Например, с помощью команд openssl
openssl genrsa -out private.key 1024
openssl req -new -x509 -key private.key -out publickey.cer -days 365
openssl pkcs12 -export -out public_privatekey.pfx -inkey private.key -in publickey.cer
Он генерирует закрытый ключ, создает сертификат X509 (файл .cer) и экспортирует сертификат x509 и закрытый ключ в файл PFX.
Когда вы создаете подписку с помощью encryptionCertificate
, прочитайте весь publickey.cer
файл (включая части -- Начало сертификации / Завершение сертификата) и установите для содержимого в кодировке base64 значение encryptionCertificate
.
Ресурсы: