26.10.2001 15:38:19про отсылку запросов на сертификат на W2000Server Ответов: 3
Рахманов Олег Владимирович
Доброе время суток.
У нас в системе в качестве СА используется Baltimore UniCert. Эта штука принимает запросы в формате pkcs10 по http на такой-то порт.
Умеет ли W2000server принимать такие запросы по http? Удастся ли нам заменить Unicert без особых проблем? Или все-таки придется закопаться в MSDN и писать программку принимающую запросы по http и пересылающую их (а может еще и перекодирующую их) W2000Server?
 
Ответы:
26.10.2001 16:00:17Игорь Курепкин
Есть страничка
http://www.cryptopro.ru/certsrv/certrqxt.asp
Она принимает pkcs#10 по http.
После этого используются COM от MS CA, которые передают запрос на CA.
02.11.2001 11:03:24Рахманов Олег Владимирович
Почему-то не хочет Микрософта принимать мой запрос (этот запрос без проблем принимает Baltimore Unicert).

Говорит что CCertRequest::Submit The request subject name is invalid or too long. На моем тестовом центре MS то же самое.
Нормальный в запросе Subject...

Вот так я делаю запрос
Name nameForCert = new Name("ROV", "countryN", "locN", "stateN", "streetAddN", "orgN", "orgUnitN", "rov@ts.ru");
JCRYPTO_X509CertRequest myCertRequest = new JCRYPTO_X509CertRequest(nameForCert, publicKey);
myCertRequest.sign(privateKey);

Вот что получается.

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIB0TCCAToCAQAwgZIxETAPBgNVBAYTCGNvdW50cnlOMQ0wCwYDVQQHEwRsb2NOMQ8wDQYDVQQI
EwZzdGF0ZU4xEzARBgNVBAkTCnN0cmVldEFkZE4xDTALBgNVBAoTBG9yZ04xETAPBgNVBAsTCG9y
Z1VuaXROMQwwCgYDVQQDEwNST1YxGDAWBgkqhkiG9w0BCQEWCXJvdkB0cy5ydTCBnzANBgkqhkiG
9w0BAQEFAAOBjQAwgYkCgYEAoKvrl1stNudmAoigWphCjdJzG481+IYfnAu+KR+YGj62nUcv4V/5
wEeYx8NH3/3A/d75ie3Qt4fjsyBNgEZOdOS+dDi7tcppX+9eH1Pr5/BU+fvqnRV946C7kvitfDEz
7TcrBoyTGOGLGjqarmlUiQhOUmSZ8mV5bkDtMvXMiFMCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBG
SwpQ8BWRHnJ+QoWVXrBuqeMDMOIXXpVSP3FPjGYBCQ8X1M9oeJHSeSq/5y9g8NnUIuBg+SsBYA19
uxt1eiWwCUFI7oKZh3qS97M2LO02y9taFXjytVqYgsifuAGa6c4AiLSOV7HqYcrhkEmSGga+XM5p
eEAtNvMh2w9tIBz4WQ==
-----END NEW CERTIFICATE REQUEST-----

Baltimore принимает.

Может MS не нравится, что нет каких-то важных атрибутов?
Например в DER - кодировке запроса сделанного с помощью MS есть строчка "M i c r o s o f t B a s e C r y p t o g r a p h i c P r o v i d e r". Не иначе атрибут. Или без волшебного слова на букву "М" запросы не принимаются?


02.11.2001 11:51:55Игорь Курепкин
Олег.
Не могу сразу сказать, почему MS CA не чочет принимать такой запрос и ругается, что не правильный DN или слишком длинный.
Вроде в DN все правильно записано.
Попробуй совсем просто. CN, Country.

То, что в атрибутах лежит ссылка на иеднтификатор ключа, я думаю центру на это по барабану.

Есть простой вариант проверить.
В MSDN Есть описание CryptSignAndEncodeCertificate
с ее же помощью делается запрос.
Пример лежит вместе с описание функции.
Можно сделать по примеру, преобразовать в base64 и попробовать скормить центру.
--- BEGIN не обязателен.