Статус: Участник
Группы: Участники
Зарегистрирован: 24.04.2012(UTC) Сообщений: 12
|
Здравствуйте! Подскажите пожалуйста ибо не могу разобраться. У меня есть сертификат (файл) експортированный с помощью утилиты mmc из хранилища MY в формате p7b. Как я могу его сохранить в формате DER? Я смог его загрузить из файла с помощью кода: Цитата: fStore := CertOpenStore(CERT_STORE_PROV_FILENAME, fEncType, 0, 0, PAnsiChar(Repository)); ... cert:= CertEnumCertificatesInStore(fStore, nil); // Поскольку я точно знаю что он один - первый подойдет
Как его перекодировать и сохранить в другом файле? Я пробовал использовать код Цитата: GetMem (buf, 2048); rsize:= 2048; CryptDecodeObject(fEncType, X509_CERT, @cert, size, 0, buf, @rsize); CertSaveStore(fStore, fEncType,CERT_STORE_SAVE_AS_PKCS7, CERT_STORE_SAVE_TO_FILENAME_W, PChar(FName), 0);
но получаю тот же файл. Как правильно сделать?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Цитата:Как я могу его сохранить в формате DER? Открыть сертификат и сохранить в нужном формате контекст сертификата => сохранить в файл .pbCertEncoded и размер cbCertEncodedОтредактировано пользователем 24 апреля 2012 г. 17:57:56(UTC)
| Причина: Не указана |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.04.2012(UTC) Сообщений: 12
|
Если б Вы назвали функцию CryptoAPI которая позволит это сделать - буду благодарен.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Murzilkberg написал:Если б Вы назвали функцию CryptoAPI которая позволит это сделать - буду благодарен. есть указатель на память и есть размер памяти, проблема сбросить на диск? причем здесь CryptoAPI ? Код:
M:=TMemoryStream.Create;
M.WriteBuffer( Certificate.pbCertEncoded^, Certificate.cbCertEncoded);
M.SaveToFile(SaveToFile);
Отредактировано пользователем 24 апреля 2012 г. 18:08:19(UTC)
| Причина: Не указана |
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
|
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.04.2012(UTC) Сообщений: 12
|
Спасибо, Андрей! Я как-то надеялся что у CriptoAPI есть стандартные функции для этого... Но Ваш вариант работает превосходно!
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close