Я документирую эту проблему уже два дня, но до сих пор не могу заставить свой код C# работать. p>
Для начала у меня есть три файла: .pem, .crt и .key для вызова API из пула приложений с использованием C#. Я проверил это с помощью cURL, и это сработало,
команда: Curl -X GET -v URI --proxy PROXY --CaCert CRTPATH --key KEYPATH --cert PEMPATH
Тогда я полагался на документацию .Net, чтобы узнать, как вызвать API. Сначала я начал с создания файла .pfx, команда:
Код: Выделить всё
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
Я также даю пулу необходимые разрешения на чтение сертификата PFX из локального хранилища и включаю загрузку профиля пользователя.
Проблема возникает на этапе генерации сертификата X509Certificate в моем коде C#, возвращая нераспознанную ошибку пути, и я считаю, что ошибка не указывает на реальную проблему.
код: X509Certificate2 certificate = new X509Certificate2(CertificatePath); отметив, что я использую относительный путь @"C:\folder\certificate.pfx".
Я также попытался ввести пароль, который мне пришлось использовать во время преобразования сертификата, код: X509Certificate2 certificate = new X509Certificate2 (Путь к сертификату, ключ); объявив первый ключ как строку.
И я попытался изменить свой путь на «C:\\folder\\certificate.pfx». та же ошибка все еще здесь.
Информация, которая может быть полезной: пул приложений использует платформу .Net 4.0, и я не указал конкретную dll для своего приложения.
Если кто-то сталкивался с этой проблемой и смог найти решение, поделитесь найденным решением.
Если у вас есть хорошая документация или ссылки, объясняющие что-то, что я пропустил, поделитесь ими.
Обновление: у меня возникла ошибка:
"Формат указанного пути не поддерживается"
Подробнее здесь: https://stackoverflow.com/questions/700 ... ot-working