Здравствуйте. Не до конца уверен, что правильно выбрал ветку форума, подскажите в какую лучше, если ошибся.
У меня есть машина на которой развернут ЦС и ЦР.
Машина sec-ca-sa доступна она только локально. Машина не состоит в домене.
Соответственно есть такие сайты
http://sec-ca-sa/certsrv/ --- Службы сертификации Active Directory (Microsoft) -- SEC-CA-SA-CA
https://sec-ca-sa/UI/ --- УЦ Криптопро
и некоторые другие CertEnrol, OCSP ...
Пытаясь проверить валидность ЦС и ЦР запустил тестовую утилиту криптопро и успешно сформировал пару ключей и получил сертификат.
Цитата:cryptcp.exe -creatcert -dn "CN=0xUser" -CA "http://Sec-CA-SA/certsrv"
CryptCP 3.39 (c) "КРИПТО-ПРО", 2002-2012.
Утилита командной строки для подписи и шифрования файлов.
Создание запроса...
Отправление запроса в ЦС...
Получение ответа ЦС...
Установка сертификата...
Сертификат был успешно установлен.
[ReturnCode: 0]
Начал писать код на c# c использованием
Цитата:using CERTENROLLLib;
using CERTCLIENTLib;
А там оказывается надо указывать путь в формате ConputerName\SaName
Код:
CCertRequest certificateRequest = new CCertRequestClass();
string requestString = enrollment.CreateRequest(EncodingType.XCN_CRYPT_STRING_BASE64);(CC_DEFAULTCONFIG)
int submissionResult = certificateRequest.Submit(
EnrollmentConstants.CR_IN_BASE64 | EnrollmentConstants.CR_IN_FORMATANY,
requestString,
string.Empty,
@"Sec-CA-SA\SEC-CA-SA-CA");
Получаю Exception Rpc Server Unavailable.
Попробовал утилитой криптопро и там тоже самое:
Цитата:cryptcp.exe -creatcert -dn "CN=0xUser" -CA "\\Sec-CA-SA\SEC-CA-SA-CA"
CryptCP 3.39 (c) "КРИПТО-ПРО", 2002-2012.
Утилита командной строки для подписи и шифрования файлов.
Создание запроса...
Отправление запроса в ЦС...
Ошибка: The RPC server is unavailable.
.\Enroll.cpp:1034: 0x800706BA
[ErrorCode: 0x800706ba]
Посмотрел логи на сервере - там есть записи в журнале безопасности с именем "Аудит Отказа".
Не могу понять, что делать, потому что:
1. Api которое принимает "http://Sec-CA-SA/certsrv" в качестве пути к ЦС я не нашел.
2. Непонятно почему клиент пытается аутентифицироваться на удаленной машине когда я задаю адрес вида "\\Sec-CA-SA\SEC-CA-SA-CA" и как это сделать, если прав на ту машину реально нет.
Помогите пожалуйста либо решить проблему с правами, либо подскажите api через http