| ||||
| ||||
> Объект SignedData выбирает алгоритм ЭЦП в зависимости от сертификата" См. топик <a href="http://www.cryptopro.ru/CryptoPro/forum/myforum.asp?q=32">CAPICOM и ГОСТ</a> Проясните pls пару вопросов: 1. Можно ли как-то задать другой алгоритм ЭЦП или он однозначно связан с сертификатом? Если можно, то как? Ибо в объекте SignedData, в отличие от EncryptedData, отсутствует Algorithm. 2. При просмотре сертификата (например, в windows)алгоритм подписи действительно виден. Но в объекте Certificate почему-то нет соответствующей properties. Можно ли как-нибудь узнать какой алгоритм прописан в сертификате и соответственно используется для подписи? | ||||
Ответы: | ||||
| ||||
Здравствуйте, > 1. Можно ли как-то задать другой алгоритм ЭЦП или он однозначно связан с сертификатом? Если можно, то как? Ибо в объекте SignedData, в отличие от EncryptedData, отсутствует Algorithm. Алгоритм ЭЦП однозначно связан с сертификатом и, поэтому его задать нельзя. > 2. При просмотре сертификата (например, в windows)алгоритм подписи действительно виден. Но в объекте Certificate почему-то нет соответствующей properties. Алгоритм ЭЦП задаётся (описывается) алгоритмом открытого ключа. > Можно ли как-нибудь узнать какой алгоритм прописан в сертификате и соответственно используется для подписи? На пример, взять открытый ключ из сертификата и получить его алгоритм в виде OID. Или открыть ключ (контейнер) по сертификату и опросить его CALG_*. Успехов. | ||||
| ||||
Спасибо. Но возникает следующий вопрос :) > получить его алгоритм в виде OID... А как по OID можно определить алгоритм? Это где-нибудь описано? Например, Certificate.ExtendedKeyUsage().EKUs.Item(0) выдает OID="1.3.6.1.4.1.311.10.3.4" И что это значит? | ||||
| ||||
Здравствуйте, Извините, я сначала не понял вопрос. При использовании только CAPICOM 1.0 информацию об алгоритме ЭЦП или алгоритме открытого ключа получить нельзя. Microsoft обещал выпустить более богатую версию CAPICOM 2.0 в феврале, так что ждём'с. Успехов. | ||||