Как стать автором
Обновить

Выписываем цифровой сертификат и проверяем подпись с помощью BouncyCastle

Блог компании «Актив» Информационная безопасность *Криптография *.NET *
Флагманским продуктом нашей компании является Рутокен ЭЦП — устройство с российской криптографией «на борту». Для интеграции устройства с браузерами был выпущен Рутокен Плагин. Демонстрацию возможностей плагина можно посмотреть на тестовых площадках. Некоторые из них предполагают работу с цифровыми сертификатами, хранящимися на устройствах. Например, Демо-банк при регистрации пользователей выписывает пользовательский сертификат, а при логине в систему запрашивает его и проверяет. Для реализации данных задач на сервере используется библиотека BouncyCastle.


В данной статье будут рассмотрены примеры ее использования для выписки сертификатов по запросу PKCS#10, а также для проверки подписи CMS, выработанной по российским криптоалгоритмам.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 11K
Комментарии 0

Побег из Крипто Про. Режиссерская версия, СМЭВ-edition

Java *

Эта статья посвящена тому, как перестать использовать Крипто Про и перейти на Bouncy Castle в девелоперском/тестовом окружении.
В начале статьи будет больше про СМЭВ и его клиент, в конце — больше про конвертирование ключей с готовой копипастой, чтобы можно было начать прямо сейчас.


Картинка для привлечения внимания:


image
Читать дальше →
Всего голосов 33: ↑29 и ↓4 +25
Просмотры 65K
Комментарии 52

Правильные ответы по криптографии: 2018 год

Блог компании GlobalSign Информационная безопасность *Разработка веб-сайтов *Криптография *
Перевод статьи, автор – Latacora

В литературе и самых сложных современных системах есть «лучшие» ответы на многие вопросы. Если вы разрабатываете встроенные приложения, то предлагают использовать STROBE и модный современный криптографический стек для аутентификации полностью из одиночных SHA-3-подобных функций губки. Советуют использовать NOISE для разработки безопасного транспортного протокола с формированием общего ключа аутентификации (AKE). Говоря об AKE, есть около 30 различных парольных AKE на выбор.

Но если вы разработчик, а не криптограф, то не должны делать ничего такого. Следует придерживаться простых и обычных решений, которые легко поддаются анализу — «скучных», как говорят люди из Google TLS.
Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Просмотры 19K
Комментарии 7

Как подписать сообщение алгоритмом ГОСТ Р 34.11/34.10-2001 на Java

Криптография *Java *
В этот статье я расскажу, как подписать произвольное сообщение приватным ключом и сертификатом по алгоритму ГОСТ Р 34.11/34.10-2001 присоединённой (attached) подписью на языке Java.

Для проекта электронного документооборота мне потребовалось сделать подпись алгоритмом ГОСТ. Несмотря на то, что появился он давным-давно, к своему удивлению, я не смог найти в сети ни одного завершённого примера, который бы получал на вход сообщение, ключ и сертификат, а на выходе давал бы подписанное сообщение.

Все найденные примеры или использовали стороннее платное ПО КриптоПро, или не собирались с современными версиями Java, или подписанные сообщения потом не валидировались.

В общем, я потратил много времени, чтобы разобраться, и решил, что полный готовый пример кому-нибудь да пригодится.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 12K
Комментарии 5

Взаимодействие сайта в браузере и локально запущенной программы

Разработка веб-сайтов *.NET *C# *Angular *

Иногда возникает необходимость передать данные между работающим в браузере приложением и программой, выполняющейся на той же системе, на которой запущен браузер. Это может понадобиться, например, если нам нужно поработать с оборудованием, подключенным локально. Считывателем смарт-карт, аппаратным ключом шифрования и так далее.



Картинка отсюда


Первыми приходят в голову три способа решить эту задачу:


  1. Обойтись средствами браузеров, или написать плагины к ним
  2. Организовать обмен данными через backend, выступающий в роли посредника
  3. Добавить в программу HTTP-сервис, и обращаться к ней напрямую из браузера

Третий пункт выглядит хорошо, позволяет убрать авторизацию в программе, не требует вообще никакого пользовательского интерфейса. Попробуем его реализовать, написав программу на C# под .NET Framework 4. Так как речь пойдет о .NET, решение будет только для Windows (XP и новее). Веб-приложение сделаем на angular.

Читать дальше →
Всего голосов 24: ↑20 и ↓4 +16
Просмотры 16K
Комментарии 35

Побег из Крипто Про. ГОСТ 34.10-2012 edition

Программирование *Java *
На Хабре есть великолепная статья "Побег из Крипто Про. Режиссерская версия, СМЭВ-edition", но наступил 2019 год и все УЦ стали выдавать ЭЦП по ГОСТ 34.10-2012 вместо ГОСТ 34.10-2001.

Под катом рассказ как можно модифицировать свой софт на Bouncy Castle для поддержки работы с ключами по новым гостам.

image
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Просмотры 47K
Комментарии 88

Криптография в Java

Криптография *Программирование *Java *
Из песочницы

Привет, Хабр! Представляю вашему вниманию перевод статьи "Java Cryptography" автора Jakob Jenkov.


Данная публикация является переводом первой статьи Java Cryptography из серии статей для начинающих, желающих освоить основы криптографии в Java.

Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 45K
Комментарии 0

Криптография в Java. Класс Cipher

Криптография *Программирование *Java *

Привет, Хабр! Представляю вашему вниманию перевод второй статьи "Java Cipher" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java.

Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 27K
Комментарии 3

Unicorns on Guard for Your Safety: Exploring the Bouncy Castle Code

Блог компании PVS-Studio Информационная безопасность *Управление разработкой *
image1.png

Would you like to see a new batch of errors found by the PVS-Studio static analyzer for Java? Then keep reading the article! This time the Bouncy Castle project is to be checked. The most interesting code snippets, as usual, are waiting for you below.
Read more →
Всего голосов 1: ↑0 и ↓1 -1
Просмотры 801
Комментарии 0

Единороги на страже вашей безопасности: исследуем код Bouncy Castle

Блог компании PVS-Studio Информационная безопасность *Управление разработкой *
image1.png

Хотите увидеть новую порцию ошибок, найденных статическим анализатором PVS-Studio для Java? Тогда присоединяйтесь к прочтению статьи! В этот раз объектом проверки стал проект Bouncy Castle. Самые интересные фрагменты кода, как обычно, ждут вас ниже.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 3.1K
Комментарии 5