| ||||
| ||||
Доброе время суток. У нас в системе в качестве СА используется Baltimore UniCert. Эта штука принимает запросы в формате pkcs10 по http на такой-то порт. Умеет ли W2000server принимать такие запросы по http? Удастся ли нам заменить Unicert без особых проблем? Или все-таки придется закопаться в MSDN и писать программку принимающую запросы по http и пересылающую их (а может еще и перекодирующую их) W2000Server? | ||||
Ответы: | ||||
| ||||
Есть страничка http://www.cryptopro.ru/certsrv/certrqxt.asp Она принимает pkcs#10 по http. После этого используются COM от MS CA, которые передают запрос на CA. | ||||
| ||||
Почему-то не хочет Микрософта принимать мой запрос (этот запрос без проблем принимает 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". Не иначе атрибут. Или без волшебного слова на букву "М" запросы не принимаются? | ||||
| ||||
Олег. Не могу сразу сказать, почему MS CA не чочет принимать такой запрос и ругается, что не правильный DN или слишком длинный. Вроде в DN все правильно записано. Попробуй совсем просто. CN, Country. То, что в атрибутах лежит ссылка на иеднтификатор ключа, я думаю центру на это по барабану. Есть простой вариант проверить. В MSDN Есть описание CryptSignAndEncodeCertificate с ее же помощью делается запрос. Пример лежит вместе с описание функции. Можно сделать по примеру, преобразовать в base64 и попробовать скормить центру. --- BEGIN не обязателен. | ||||