Pull to refresh
74
0
Александр Горлов @agorlov

User

Send message

PKI (Public Key Infrastructure) с помощью JavaScript? Теперь это возможно с помощью библиотек PKIjs и ASN1js

Reading time5 min
Views13K
Представляю вашему вниманию две библиотеки, реализующие практически полный спектр требуемого функционала для организации инфраструктуры PKI: PKIjs и вспомогательную библиотеку ASN1js. Библиотеки свободны доступны и распространяются по лицензии, позволяющей использовать их код без особых ограничений, даже в коммерческих продуктах. Полный код данных библиотек доступен на GitHub: PKIjs + ASN1js.

Дабы привлечь читателей прямо во введении приведу краткий список особенностей вышеупомянутых библиотек:
  1. Объектно-ориентированный код;
  2. Работа с HTML5 (ArrayBuffer, Promises, WebCrypto (используется «dev nightly build» Google Chrome));
  3. Возможность создавать, проверять, получать внутренние данные, изменять данные для следующих объектов:
    1. Сертификаты X.509
    2. Списки отзыва (CRL) X.509
    3. Запросы на сертификат (PKCS#10)
    4. OCSP запросы;
    5. Ответы OCSP сервера
    6. Time-stamping (TSP) запросы
    7. Ответы TSP сервера
    8. CMS Signed Data
    9. CMS Enveloped Data

  4. Реализация собственной «certificate chain validation engine» на JavaScript;
  5. … И многое другое! Смотрите под катом!


Читать дальше →

ASN1js и PKIjs — год после создания

Reading time4 min
Views8K
Почти год назад я рассказал о новых библиотеках PKIjs и ASN1js. Пришло время рассказать о развитии этих библиотек. Для ASN1js за это время были сделаны в основном «косметические» изменения. Из существенных изменений можно заметить только возможность конвертации любых объектов ASN.1 в JSON формат. А вот с PKIjs произошли более существенные перемены.

Итак, текущие основные особенности PKIjs:
  • Полная поддержка Web Cryptography API;
  • Ограниченная возможность использования как в iPhone (через использование Safari), так и в Android приложениях (Google Chrome);
  • Расширилось количество примеров. В частности, добавились примеры использования PKIjs для проверки подписей в PDF файлах и для проверки подписей в S/MIME;
  • Использование всех алгоритмов подписи из Web Cryptography API:
    • RSASSA-PKCS1-v1_5 (PKCS#1 v1.5);
    • RSA-PSS (PKCS#1 v2);
    • ECDSA (подпись на ECC, Elliptic Curve Cryptography);
  • Первая реализация «certificate chain verification engine» (верификация цепочки сертификатов) на чистом JavaScript и проходящая основные тесты NIST;
  • Первая и пока единственная реализация «Suite B» для подписи и шифрования данных в виде CMS (Cryptographic Message Syntax) в «open-source» на чистом JavaScript;
    • Подпись CMS с помощью ECDSA;
    • Шифрование с применением схем «ephemeral-static» ECDH;
    • Использование AES-CBC и AES-GCM;
    • Использование расширенного списка алгоритмов хеширования: от SHA-1 до SHA-512;
    • Возможность создания зашифрованных сообщений на основе использования пароля с использованием алгоритмов серии AES;

Читать дальше →

Электронная цифровая подпись (ЭЦП) документов в 1С за пару кликов с использованием утилиты КРИПТО-ПРО PDF

Reading time7 min
Views95K
На одном из крупных проектов возникла не совсем обычная для 1С задача. Нужно было организовать массовую отправку и подписание документов контрагентов с помощью электронной цифровой подписи. Поиск информации в справочной системе и на 1Сных форумах нужного результата не дал. Пришлось разбираться со средствами криптографии, электронными ключами и сторонними утилитами. Найденное решение оказалось простым и достаточно гибки для повторения в других проектах, поэтому хочу с вами поделиться.
Читать дальше →

Эллиптическая криптография: практика

Reading time10 min
Views73K
image
Привет, %username%!

Пару недель назад я опубликовал пост Эллиптическая криптография: теория, в котором постарался описать основные аспекты использования эллиптических кривых в криптографии. Тот мой пост носил исключительно ознакомительный характер, и не предусматривал никакой иной работы с компилятором, кроме созерцательной. Но что за теория без практики? С целью исправить это упущение я, собравшись с духом, ринулся в бой с ГОСТ-ом 34.10-2012, схемой ЭЦП на эллиптических кривых. Если вам интересно посмотреть что из всего этого получилось, тогда добро пожаловать под кат.
Читать дальше →

Загрузочный сервер — как загрузочная флешка, только сервер и по сети

Reading time12 min
Views463K
Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!

Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.

Вот такое меню встречает нашу команду инженеров при загрузке с PXE



Под катом вас ждет описание всех настроек, а так же небольшой сюрприз.
Поехали!

Удаленный доступ к компьютеру за NAT'ом через SSH-туннель

Reading time2 min
Views58K
В продолжение темы прохождения через NAT, вот краткий пересказ моих статей об управлении компьютером, который находится за NATом.

Фактически это описание бэкдора, поэтому убедитесь, что вы не нанесете вреда чужой сети и что локальные администраторы в курсе ваших манипуляций.

Задача: разместить линуксовый компьютер в сети за NATом, и иметь к нему доступ из внешнего мира. Например, вы траблшутите или поддерживаете что-то у клиента, и чтобы не сидеть у него в офисе, нужно быстро соорудить удаленный доступ. Или, например в 3G-сетях клиенты как правило получают приватные адреса, а нам нужен доступ к компьютеру, где другой связи нет.

Читать дальше →

Поиск на сайте своими руками

Reading time15 min
Views198K


Наверное, многие когда-нибудь задумывались, как сделать поиск на сайте? Безусловно, для крупных сайтов с большим количеством контента поиск является просто незаменимой вещью. В большинстве случаев пользователь, впервые посетив Ваш сайт в поисках чего-либо важного, не станет разбираться в навигационных панелях, выпадающих меню и прочих элементах навигации, а в спешке попытается найти что-нибудь похожее на поисковую строку. И если такой роскоши на сайте не окажется, либо он не справится с поисковым запросом, то посетитель просто закроет вкладку. Но статья не о значении поиска для сайта и не о психологии посетителей. Я расскажу, как реализовать небольшой алгоритм полнотекстового поиска, который, надеюсь, избавит начинающих разработчиков от головной боли.
Читать дальше →

CMS будущего

Reading time14 min
Views76K

Покончим с устаревшим подходом к контенту


На протяжении всей истории интернета мы работали с контентом двумя способами:
  1. Создавали «один шаблон на все случаи жизни»
  2. Создавали для каждого случая свой уникальный шаблон

Как только мы сталкивались с тем, что не можем организовать контент с помощью базового текстового поля и привязанного к нему WYSIWYG редактора, мы тут же делали отдельный шаблон со своими собственными полями и логикой.

image
Читать дальше →

Основы работы с Robotic Operating System

Reading time5 min
Views69K

Введение


    Доброго всем времени суток!
    Осваивая в очередной раз просторы Хабра, заметил, что здесь практически нет информации о Robotic Operating System (далее просто ROS). Поспешу исправить эту оплошность и популяризовать замечательный продукт.
image
    Что же это такое? ROS представляет собой надстройку над ОС, которая позволяет легко и просто разрабатывать системы управления роботами. Что это означает и как с этим потом жить — и призвана рассказать серия топиков.
    По сути, ROS — это набор из различных широко (и неочень) известных библиотек, таких как:
  • OpenCV — библиотека, содержащая алгоритмы компьютерного зрения и обработки изображений;
  • PCL- библиотека для работы с облаками 3D-точек;
  • Ogre — объектно-ориентированный графический движок с открытым исходным кодом;
  • Orocos — библиотека для управления роботами (например, расчет кинематики).

    Также в ROS входят драйвера для различных манипуляторов и сенсоров (включая MS Kinect).
Читать дальше →

Мировой финансовый кризис или что делать айтишнику?

Reading time4 min
Views1.2K


Совершенно “неожиданно” на наших глазах “разразился” финансовый кризис. “Черный четверг” обвалил рынки по всему миру на пару процентов и вот уже капитализация мировых компаний сократилась на 2,5 триллиона долларов причем 817 миллиардов долларов пришлось на компании, входящие в индекс S&P 500. В Америке известный ипотечный страховщик Fannie Mae попросил у государства еще 5 миллиардов долларов. В Европе немецкий Commerzbank списывает долги Греции на 1.000.000.000 долларов, а Германия сомневается, что Италию можно спасти от дефолта, даже если утроить стабфонд ЕС. И чуть не забыл -рейтинг Америки опустился с высшего ААА на ступень ниже — АА+, что собственно совершенно неслыханное дело.
2012 из каминг?
Читать дальше →

Диктофоны для книги рекордов

Reading time3 min
Views3.2K
Знаете ли вы, что самый маленький диктофон в мире, трижды внесённый в книгу Рекордов Гиннеса за свои миниатюрные размеры, сделан в России? Производит его зеленоградская компания «Телесистемы», деятельность и продукция которой до сих пор почему-то никак не освещалась на Хабре. А ведь речь идёт о компании, самостоятельно разрабатывающей и производящей в России продукцию мирового уровня. Миниатюрные цифровые диктофоны давно стали её визитной карточкой среди профессионалов, и этот рассказ — о них.

45.47 КБ

Читать дальше →

SCT Error Recovery Control

Reading time4 min
Views107K
… или что такое на самом деле 'raid edition' для жёстких дисков



Немного теории


Существуют две стратегии поведения НЖМД при обнаружении ошибки:
  • standalone/desktop — пытаться прочитать до последнего. Это ощущается как «тормозящий винт», который всё-таки работает, если это единичный сбой, то «затупило, но прошло», плюс характерный перестук перекалибрующихся головок.
  • raid — отваливаться тут же. Это ощущается как «внезапно была ошибка диска но потом mhdd и т.д. НИЧЕГО НЕ НАШЁЛ ЧТО МНЕ ДЕЛАТЬ».
Статегии очевидным образом различаются по предназначению — десктоп лучше протупит, но ошибку не выдаст, в рейде есть запасной винт, и терпеть минутные тормоза на чтении никто не имеет никакой возможности. Не получилось прочитать? Читаем с запасных винтов, помечаем весь винт как сбойный, начинаем ресинк, а диск потом отправят в утилизатор. Возможно, незаслуженно, но нечего икать на ответственной должности.

Управление стратегиями поведения при ошибках — это фича дорогих винчестеров. В десктопных сериях её часто просто нет, или она есть, но без права включения — винчестер тупит над ошибкой столько, сколько сочтёт нужным. Второй важный момент — на рейдовых жёстких дисках эта опция включена по-умолчанию. Что может приводить к проблемам.

Расшифровка названия


Возможность управления поведением диска при ошибках называется очень и очень путанно: SCT ERC. Это расшифровывается как SCT Error Recovery Control. SCT в свою очередь название общего протокола SMART Command Transport. SMART в свою очередь расшифровывается как Self-Monitoring, Analysis and Reporting Technology, таким образом, полная расшифровка SCT ERC звучит так: Self-Monitoring, Analysis and Reporting Technology Command Transport Error Recovery Control (выдохнули).
Читать дальше →

flash-видео на веб-страницах и PHP

Reading time8 min
Views6.2K
Эта статья — перепечатка статьи от 16 ноября 2007 г. с моего блога, ссылку на который можно найти в моем же профайле — но, поскольку так уж вышло, что тема эта, кажется, до сих пор многим интересна, к тому же не так давно я читал на эту тему доклад на конференции PHPConf… в общем — судите сами.

Вступление


В последнее время все большее распространение получает технология трансляции видео через веб – без необходимости скачивать медиа-контент на машину пользователя, с просмотром прямо из браузера. Таким образом можно просматривать довольно большое количество различных форматов видео, однако, это требует наличия определенных плагинов на стороне пользователя. Очевидно, самым распространенным подобным плагином является flash-player (ну хорошо, хорошо: если быть точным, то он, конечно же, не может сам по себе проигрывать видео – но позволяет легко создать приложение, способное воспроизводить видео-контент). Яркий пример такого подхода – youtube.com. Попытаюсь рассказать о том, как самостоятельно организовать трансляции флэш-видео на своей веб-странице и какие существуют подходы к этой проблеме.

Читать дальше →

Как мы запустили телеканал в Интернете. Техника

Reading time4 min
Views7K
Это третья статья (первая и вторая) из планируемого цикла «Как мы запустили канал». Сегодня я расскажу о техническом обеспечении канала DOG CHANNEL TV и о том, как это все работает… В статье достаточно много специализированной для вещания лексики. Если по комментариям будет видно, что что-то не понятно я буду уточнять и конкретизировать отдельные моменты по мере необходимости.
Читать дальше →

Google просит пустить беспилотные автомобили на общие дороги

Reading time2 min
Views3.4K
Google считается одним из ведущих в мире разработчиков автомобилей на программном управлении — на них работает стенфордский профессор Себастьян Тран (Sebastian Thrun), который ещё в 2005 году выиграл конкурс DARPA на лучшую систему автономного управления. И вот наступил момент, когда «роботы» созрели для использования в полевых условиях, то есть на общественных дорогах общего назначения, в окружении живых водителей-людей. Правда, для этого нужно изменить законодательство и правила дорожного движения.

Газете NY Times стало известно, что представители Google лоббируют вопрос по снятию запрета на беспилотные автомобили в штате Невада.
Читать дальше →

Личный опыт. Кипр. Мобильный телефон, интернет, wifi и прочие гиковские радости

Reading time3 min
Views65K
Посетил я недавно Кипр, поделюсь опытом.

Не хотел прерывать связь с родиной, хотел навигацию для самостоятельных путешествий, да и приглядывать за бизнесами надо было.

Итак, докладываю.
Первое, не надо пользоваться никаким руомингом. Приготовимся заранее.

Вашу Голосовую симку ровно перед вылетом надо переадресовать на один из сервисов переадресации. Из простых путей дешевле magic.mtt.ru найти сложно — переадресация звонков в Европу на мобильные по 3.99 р в минуту, московский номер в 499 коде 300 р в месяц. Есть и сложный путь, например из скрещивания мегафоновского мультифона, pbxes.com и rynga.com, почитать, например здесь

Если вы хотите перестраховаться, можно купить в московском седьмом континенте сим карту simtravel за 350 рублей с 10 уе на балансе, но нужна она вам будет только позвонить из самолета по дороге в аэропорт родным, что долетел. Ну, или поймать звонок до момента покупки местной симки.
Читать дальше →

Перевод выступления Дэвида Хейнемейерa Ханссонa на Startup School'2008

Reading time1 min
Views1.9K

Часть 1, часть 2

«Все, что вам нужно сделать – это решить чью-то проблему немного лучше, чем другие ребята. Предположим, вы открываете ресторан, итальянский ресторан. Он не обязательно должен быть самым крутым итальянским рестораном в мире. В нём должна быть вкусная еда и приятное обслуживание, чтобы люди в него ходили, а у вас был хороший бизнес. Мне кажется, что не так много людей пытаются создать просто хороший 'итальянский ресторан' в интернете.»

Дэвид Хейнемейер Ханссон, автор Ruby on Rails, рассказывает о стартапах — о завышенных целях и ожиданиях, о вариантах получения прибыли, о привлечении пользователей, о продаже стартапа.
Под катом также ссылки на русский текст, английский текст и видео с английскими субтитрами
Читать дальше →

6 причин, по которым вам не стоит писать функциональные спецификации

Reading time3 min
Views15K
Небольшое эссе из книги «Getting Real», написанной сотрудниками компании 37signals. Оригинал можно прочитать здесь.

Спецификация — это абстрактный документ, в большинстве случаев не имеющий ничего общего с готовым программным продуктом. Почему? С удовольствием объясним:

1. Спецификация — это фикция

Она не имеет никакого отношения к реальности. Приложение становится реальным, когда разработчики пишут код, дизайнеры рисуют интерфейс, а люди начинают пользоваться готовым продуктом. Спецификация никак не приближает проект к завершению — ведь это не более чем слова на бумаге.

Читать дальше →

Интеграция с ВКонтакте на базе Open API

Reading time8 min
Views47K
Социальная сеть ВКонтакте предоставляет широкие возможности для интеграции со сторонними сайтами. В основном эти возможности представлены уже готовыми виджетами. Однако, есть еще и Open API, которое позволяет не только авторизовать пользователя, но и выполнить любой метод, доступный приложениям ВКонтакте (ВКонтакте API).
Читать дальше →

Негативный фидбек — эффективное SEO

Reading time3 min
Views1.4K
Интересную тему подняли журналисты NY Times. Они провели журналистское расследование насчёт интернет-магазина DecorMyEyes.com, который продаёт очки дизайнерских моделей, и обнаружили невероятную вещь. Оказывается, владельцы этого магазина делают всё возможное, чтобы люди оставляли максимальное количество негативных отзывов о магазине. В большом количестве таких отзывов несложно убедиться, просто запустив поиск по названию магазина в Google.

Казалось бы, зачем магазин создаёт себе негативный пиар? Зачем они специально грубят покупателям и выставляют им дополнительные счета за услуги, балансируя на грани закона? Зачем врать об отсутствии товара и нарушать сроки доставки? Ответ простой. За счёт большого количества входящих ссылок с различных форумов сайт магазина находится на первых местах в поисковой выдаче. Например, по запросу [Christian Audigier glasses] они на пятом месте, сразу после официального сайта Кристиана Одигера — известного французского дизайнера очков.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity