Главная > Open Source, PHP, web2.0, веб-обзоры, Разное > Основы XMLSec или иногда стоит вспоминать прошлое.

Основы XMLSec или иногда стоит вспоминать прошлое.

12 ноября 2007

У меня утро началось необычно - выпал первый снег, с чем могу и поздравить своих читателей с Украины, и г. Львова в частности. А мы попробуем рассмотреть сегодня технологию, которая уже не новая, но, думаю, будет интересная и полезная во многих проектах, поднявшихся на волне web 2.0. Сомневаетесь? Ведь в названии этой разработки есть все популярные слова - XML, Security, цифровая подпись...

XML Security Library - это проект по созданию и поддержанию библиотеки, которая предоставляет любому приложению стандартный API для работы с криптографическими алгоритмами и цифровыми подписями для XML документов. На самом деле это не так и просто и тривиально, как описано.

Если заглянуть немного назад, в историю, то найдётся такая технология как EDI (стандарт с 1975 года), большой стандарт в области обмена документами и реализации полноценного документооборота в сфере B2B. Он базируется на общепринятых стандартах и много лет является основной для многих корпоративных систем. Но в последнее время среда интернета и новые формы взаимодействия, в том числе форматы и протоколы, а также высокая сложность EDI заставила разработчиков придумывать свои решения на базе открытых протоколов, в частности XML.

А так как безопасность в этом секторе всегда стоит на первом месте, то понадобились средства для обеспечения различных криптографических алгоритмов и систем на основе открытых стандартов. Организация W3C даже приняла в качестве рекомендаций такие спецификации, как XML Signature (о цифровых подписях для xml), XML Encryption (шифрование) и XML Key Management (управление инфраструктурой ключей). Если к этому перечню добавить уже распространённые технологии вроде IPsec, SSL, X.509 то вырисовывается система, в которой реализованы все необходимые для построения открытой инфраструктуры создания, обмена и хранения любых документов с реализацией цифровой подписи и других необходимых криптографических алгоритмов с использование открытых протоколов, форматов и сетей передачи данных. Причём, документы это не только обычные документы, к которыми мы привыкли (грубо говоря - офисные и корпоративные приказы, отчёты, счета и т.п.), но и полностью машинноориентированные - в данном случае идёт речь о веб-сервисах, которые могут использовать автоматическое машинное формирование и обработку документов, исходя из специальных стандартов для веб-сервисов: SOAP-Dsig, Advanced Electronic Signature Profiles of the OASIS Digital Signature Service, WS-Security, X.509 Certificate Token Profile 1.1

И так, мы подошли к сути - XML Security Library предоставляет возможности программной обработки документов согласно спецификациям по обмену защищёнными XML документами. Библиотека написана на языке С и предоставляет АPI для популярных языков программирования, в том числе и Python, C#, ObjectPascal и PHP. Вот именно последний язык нам более всего интересен, так как очень много веб-проектов разрабатываются именно на нем, да и аналогичных возможностей раньше не было (хотя, если поставить несколько модулей и библиотек, то много из этих возможностей все же реализуется).

Сама библиотека, как и модуль, доступны в исходных кодах и в пакетах для Linux, а также есть пробные сборки для Windows, которые мы постараемся протестировать и сообщить дополнительно.

Тема очень обширная, мы не будем ее детально затрагивать, просто рассказываем о возможностях, а если ваша разработка требует обмена зашифрованными и подписанными документами, в том числе и подписанными подписями, имеющими юридическую силу собственноручных (согласно законодательству ваших стран) - вам определённо стоит поэкспериментировать с этой библиотекой. Это может быть и торговые системы, и трейдинговые терминалы, и даже платёжные системы, системы автоматизации закупок, CRM/ERP системы, финансовые сервисы, сервисы защищённого хранения документов, возможно даже специализированные закрытые почтовые системы для обмена документами - если ваша разработка попадает в их число, эта статья для вас.

Несмотря на давность технологии, она стабильно развивается, недавно вышла 1.2.11 версия, добавившая, кроме исправлений, и улучшенную поддержку криптопровайдеров из Windows. Так что интересуясь только совсем новыми вещами, стоит иногда глянуть на уже зарекомендовавшие себя проекты - они могут очень сильно помочь вам в создании своего неповторимого уникального проекта...

В заключение несколько ссылок для полезные материалы:

Комментирование отключено.