Jump to content

Бета-Тестирование Vipnet Jcrypto Sdk


vasyanya

Recommended Posts

Добро пожаловать в ветку бета-тестирования нового продукта ИнфоТеКС ViPNet JCrypto SDK.

 

Воспользовавшись данной веткой форума вы получите возможность задать технические вопросы разработчикам продукта ViPNet JCrypto SDK и получить быстрый и квалифицированный ответ.

 

Страница продукта на сайте: http://infotecs.ru/product/vipnet-jcrypto-sdk.html

Ссылка на бета-версию: http://infotecs.ru/downloads/beta-versii/vipnet-jcrypto-sdk.html?arrFilter_93=590012806&set_filter=Y

 

Link to comment
Share on other sites

  • 4 months later...

Добрый день!

Из руководства пользователя по ViPNet JCrypto SDK следует, что в нем есть поддержка JSSE.

Возможна, ли интеграция ViPNet JCrypto SDK в IBM Webpshere Application Server v 8.5 таким образом, чтобы использовать ViPNet в настройках Websphere Admin Console?

При добавлении криптопровайдеров в IBM JRE (в начало списка) появляются типы контейнеров, соответствующие ViPNet, при этом в них не находятся сертификаты и закрытые ключи, которые видны при использовании программы ViPNet CSP.

Интересует конкретно управление сертификатами, закрытыми ключами, конфигурациями SSL.

С уважением, Егор.

Link to comment
Share on other sites

  • 8 months later...

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

У меня возник небольшой вопросик.

На входе я имею контейнер с шестью файлами (header.key, masks.key, masks2.key, name.key, primary.key, primary2.key), после ряда экспериментов меня посетила мысль, что данный формат контейнеров не поддерживается криптопровайдером.

Собственно отсюда родились два следующих вопроса: верно ли мое предположение? И, если на первый вопрос ответ положительный, то существует ли какой-нибудь инструмент, способный трансформировать контейнер из шести озвученных файлов в контейнер VipNet'a?

Link to comment
Share on other sites

  • 1 year later...

ifkin, Здравствуйте!

Если еще актуально, конечно: это файлы контейнера в формате CryptoPro, соотвественно, с помощью продуктов того производителя можете с ними работать. VipNet CSP с таким форматом у меня не работает.

По всей видимости, Вас интересует конвертация между различными контейнерами, в свое время я тоже интересовался данной темой, нашел вот эту ветку с обсуждением аналогичной проблемы. В качестве решения там предлагалась утилита P12FromGostCSP, можете посмотреть; но о том, как "скормить" криптопровайдеру VipNet PKCS#12 мне неизвестно.

Link to comment
Share on other sites

  • 7 months later...

Привет!

Подпись созданную в VipNet CSP  не получается проверить в  ViPNet JCrypto:

signature.verify() всегда false.

Однако подпись и проверка подписи работают в каждом из этих провайдеров.

 

Link to comment
Share on other sites

  • 3 months later...
В 05.06.2016в12:02, Александр Акимов сказал:

Привет!

Подпись созданную в VipNet CSP  не получается проверить в  ViPNet JCrypto:

signature.verify() всегда false.

Однако подпись и проверка подписи работают в каждом из этих провайдеров.

 

Приветствую!

Нужно несколько больше информации для понимая и воспроизводства Вашего кейса...

 

Link to comment
Share on other sites

  • 1 month later...

Здравствуйте!

Естественно не работают, это полностью новый сайт.

Бета-тест теперь по ссылке http://infotecs.ru/downloads/beta-versii/

Продукт ViPNet JCrypto перешел в стадию сертификации, поэтому пока его не будет в разделе Бета-тест.

 

Link to comment
Share on other sites

  • 1 month later...
Link to comment
Share on other sites

  • 1 month later...
В 9/29/2016в13:07, Petrenko Sergey сказал:

Приветствую!

Нужно несколько больше информации для понимая и воспроизводства Вашего кейса...

 

Для подписи данных:
1) Имеется контейнер в формате VipNet.
2) В Android приложении получаю закрытый ключ из этого контейнера.
3) В качестве исходных данных массив байт простого текста ("text".getBytes("UTF-8")).
4) Подписываю данные с помощью закрытого ключа, используя алгоритмы GOST3411-94withGOST3410-2001.
5) Получаю подпись - 64 байт. Преобразую эту подпись в строку Base64 (Base64.encodeToString(signResult, Base64.NO_WRAP)).

Для проверки подписи:
6) В коде получаю объект сертификата X509Certificate из строки Base64.(сертификат получил в утилите VipNet CSP из контейнера)
7) С помощью getPublicKey() получаю открытый ключ из этого сертификата.
8) Проверяю подпись, используя алгоритмы GOST3411-94withGOST3410-2001.
9) Проверка подписи проходит успешно - подпись корректна.


Для проверки подписи в консольном приложении C#:

10) Исходные данные передаю в код C#:
    -подпись полученную на шаге 5) - строка Base64 
    -массив байт Encoding.UTF8.GetBytes("text");
    -сертификат в виде строки Base64
    
11) исходные данные преобразую в массивы байт (Convert.FromBase64String())
12) С помощью кода проверяю подпись (https://github.com/Infotecs/CSharpViPNetCSP)

     public static bool VerifyCertificate(byte[] signature, byte[] data, byte[] certificateData)
        {
            using (var container = new KeyContainer())
            {
                container.AcquireContext(null, ProviderName, ProviderType, Constants.CryptVerifycontext);
                using (KeyContext keyContext = container.ImportSertificate(certificateData))
                {
                    using (HashContext hashContext =
                        container.CreateHash(null, Constants.CpcspHashId, 0))
                    {
                        hashContext.AddData(data, 0);
                        return keyContext.VerifySignature(signature, hashContext, 0);
                    }
                }
            }
        }
13) метод возвращает false - подпись не корректна.

Link to comment
Share on other sites

У каждого языка программирования свой порядок записи байт для длинных чисел.
В
JCrypto SDK используется “родной” для Java BigEndian порядок.

У CSP и Java разный порядок байт для записи больших чисел.

Перед проверкой подписи скорее всего нужно переворачивать 1-ю и 2-ю половину (каждая по 32 байта).

Если автору не сложно, пусть пришлет байтовые последовательности:
- подписи;
- дайджеста сообщения;
- открытого ключа.

Link to comment
Share on other sites

1 час назад, Petrenko Sergey сказал:

У каждого языка программирования свой порядок записи байт для длинных чисел.
В
JCrypto SDK используется “родной” для Java BigEndian порядок.

У CSP и Java разный порядок байт для записи больших чисел.

 

 

Перед проверкой подписи скорее всего нужно переворачивать 1-ю и 2-ю половину (каждая по 32 байта).

 

 

Если автору не сложно, пусть пришлет байтовые последовательности:
- подписи;
- дайджеста сообщения;
- открытого ключа.

 

 

Благодарю за оперативность! Подпись проверяется успешно! вопрос решен.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

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