Jump to content
cryptoktulhu

Совместимость с КриптоПро CSP

Recommended Posts

Доброго времени суток.

В документации разработчика сказано, что есть возможность экспортировать с помощью VipNet CSP симметричные ключи в формате совместимом с КриптоПро CSP, использую идентификатор алгоритма  CALG_PRO_EXPORT. Означает ли это, что функция CryptExportKey для VipNet CSP вернет в данном случае такую же структуру, как возвращает КриптоПро CSP (т.е. CRYPT_SIMPLEBLOB)? И соответственно потом можно этот блоб запихнуть в функцию CryptImportKey провайдера КриптоПро CSP или наоборот.

Share this post


Link to post
Share on other sites

Добрый день!

Комментарий наших разработчиков:

"Означает ли это, что функция CryptExportKey для VipNet CSP вернет в данном случае такую же структуру, как возвращает КриптоПро CSP (т.е. CRYPT_SIMPLEBLOB"

Да

"И соответственно потом можно этот блоб запихнуть в функцию CryptImportKey провайдера КриптоПро CSP или наоборот".

Да. Для этого необходимо на обоих концах иметь один и тот же ключ экспорта/импорта.

Share this post


Link to post
Share on other sites

Добрый день.

В документации к VipNet CSP есть описание работы с функцией CryptImportKey. Возможно ли передавать в качестве блоба PRIVATEKEYBLOB такой же как используется у криптопро для импорта закрытого ключа? При попытке произвести такую операцию у меня выдается ошибка NTE_BAD_TYPE. В качестве константы magic использую (GR3410_1_MAGIC = 0x3147414D) из вашего заголовочного файла. В документации сказано, что ошибка NTE_BAD_TYPE выдается в случае, если "тип ключевого блоба не поддерживается этим криптопровайдером и, возможно, ошибочен". Если существует способ импорта закрытого ключа в провайдер, опишите формат блоба, а лучше дайте пример с распаковкой и упаковкой закрытого ключа из бинарного значения в блоб, т.к. SDK на сайте я не нашел.

Share this post


Link to post
Share on other sites

Добрый день!

Ответы на вопросы:

1) Возможно ли передавать в качестве блоба PRIVATEKEYBLOB такой же как используется у криптопро для импорта закрытого ключа? 

    Нет.

2) Если существует способ импорта закрытого ключа в провайдер, опишите формат блоба, а лучше дайте пример с распаковкой и упаковкой закрытого ключа из бинарного значения в блоб, т.к. SDK на сайте я не нашел.

    Для этого существует PFX. https://msdn.microsoft.com/en-us/library/windows/desktop/aa387311(v=vs.85).aspx и аналогичные функции.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site, you agree to our Terms of Use.