Как сделать цифровую подпись php

Добавил пользователь Евгений Кузнецов
Обновлено: 05.10.2024


Здесь могла бы быть ваша реклама


Помог: 3 раз(а)

Секрет
Теперь, когда вы уже наверняка второпях отправили свой запрос,
я расскажу вам простой секрет, который сэкономит вам уйму ожиданий,
даже если первый ответ по теме последуем сразу же.

После этого приходится начинать уточнять этим неграмотным что мне надо.
Они что, сами читать не умеют? А уточнять приходится.
И иногда пока они переварят то что я им скажу проходит и не одна ночь..

Уверен что если бы я им сказал что у меня есть
фиолетовый квадрат, и нужно превратить его в синий треугольник
и я пытался взять кисточку, макнуть в банку и поводить ей по квадрату
но почему то кисточка не принимала цвет краски в банке,
то на мой вопрос - где взять правильные банки мне бы ответили гораздо быстрее
предложив её открыть, а не тратить еще стольник на жестянку.

Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме:
Что есть
Что нужно получить
Как я пытался
Почему или что у меня не получилось.


На последок как оно происходит на форумах

Отредактировано модератором: Uchkuma, 26 Апреля, 2011 - 10:21:12

Плагинов для реализации всплывающей подсказки на сайте WordPress довольно много, многие имеют возможность создания каждой подсказки как отдельный элемент, который затем вызывается в нужном месте, некоторые работают посредством вставки шорткода с вписанной информацией подсказки в него. Увидеть всё многообразие таких плагинов и выбрать подходящий можно на сайте wordpress.org или напрямую через консоль администратора WP в разделе "Плагины"->"Добавить новый", вписав в поиск ключевое слово "tooltip" (подсказка).

Мы же рассмотрим плагин, который имеет множество удобных возможностей в том числе и функцию вспливающей подсказки. Это плагин Shortcodes Ultimate от автора Vladimirа Anokhinа, плагин полностью бесплатен. Если Вы использовали для разработки сайта наш стартовый пакет, то этот плагин у Вас уже установлен, если нет, то его установка доступна через консоль администратора WordPress.

После установки и активации плагина на панели управления консоли WP появляется раздел "Шорткоды", в котором можно ознакомится со всеми возможностями плагина, а так же правилами написания шорткодов и их параметров для каждой функции.

Подпись в письме
Кодом создаю Письмо: Dim dbMail As New NotesDatabase( "", "" ) Call dbMail.OpenMail() Set.

Html подпись в письме
Добрый день, нам сделали подпись, при использовании в Mozilla thunderbird следующая проблема - если.

Как поставить в документе электронную подпись?
как поставить в документе электронную подпись, т.е. что бы при выводе документа на печать, на нем.

Inotes. Как Сделать Подпись В Письме Из Html Файла?
Добрый день! Есть сервер Domino 8.5.3FP2 на Linux. Клиент 8.5.3, почтовая база восмерочная.

Этим занимается криптопровайдер, поэтому проверка должна быть либо на сервере, либо локально после получения файла.
Либо после получения файла в письме на сервере. Но во всех случаях для проверки потребуется криптопровайдер.

При проверке на соответствие необходимо иметь корректный сертификат пользователя у себя.

При локальной и ручной проверке, достаточно иметь криптопровайдер(рекомендую крипто-про)

Запутался в этих сертификатах. Выдала мне организация ЭЦП. Лежит он у меня на флешке. Как его прикрепить к письму и как человек проверит письмо, что это я подписал? Где тут сертификат?
Вы уж простите за глупые вопросы. Пощупать бы все руками )))
И ещё, говорят, что подобный модуль делается не на php, а на js. Это так?

Хотя вот по вашей ссылке прочитал про использование с PHP, но что-то сходу не разобрался. Но вопрос с js снимается

ЭЦП может быть просроченной, отозванной, заблокированной, но оригинальной.
ЭЦП Может быть не отозванной, не заблокированной, не просроченной, но несоответствующей ключам контейнера.

По идее должен быть на той же флешке, или в отдельном письме от центра. обычно в расширении cer, которое открывается на компе по умолчанию.Остальное - это закрытые ключи, которые не просматриваются.
Если это не обычная флешка, а непосредственно закрытая usb ЭЦП, то вытащить и посмотреть можно только с помощью криптопровайдера (крипто-про, vip-net)

Если прям совсем ничего не понятно, то обратитесь в центр, они делают настройку и проводят консультацию бесплатно.

Взаимодействие можно сделать на любом языке.

Хотя вот по вашей ссылке прочитал про использование с PHP, но что-то сходу не разобрался. Но вопрос с js снимается

Я сомневаюсь, что это, то , что вам нужно. Вероятно вы вообще пошли не в ту степь.
Ведь.

1. Устанавливаете криптопровайдер(программу)
2. Импортируете собственный сертификат (с помощью этой же программы или просто нажав на сертификат)
3. Импортируете сертификаты центра сертификации,/цепочку сертификатов. (этого может не потребоваться, смотря что за центр)
4. Подписываете файл (прям внутри этой программы, если новая версия, если старая то доп.средствами)
5. Отправляете адресату. Где он может проверить ЭЦП, имея программу-криптопровайдер у себя тоже.


Но в зависимости от файла может потребоваться прикрепить файл эцп к файлу.(сертификат, в формате .sig
Это то, о чем я говорил перед этим. Проверить оригинальность можно только путём сравнения её с сертификатом пользователя. (на старый версиях), в новых эцп либо вшивается в файл либо формируется автоматом.

В некоторых случаях этого не требуется.Например, если это Word,excel и т.д.
то проверку ЭЦП можно посмотреть прям в программе, без дополнительных. PDF тоже это умеет.

Но в большинстве случаев по доп файлу.

В php и организация взаимодействия - это не ваш случай.

Хорошо, а если такая ситуация. На сайте делается запрос на обработку персональных данных. Человеку приходит письмо с таким запросом или прям на сайте такая страница загружается с текстом соглашения на обработку данных. И такое письмо нужно подписать ЭЦП. Как тогда поступить?

Хорошо, а если такая ситуация. На сайте делается запрос на обработку персональных данных. Человеку приходит письмо с таким запросом или прям на сайте такая страница загружается с текстом соглашения на обработку данных. И такое письмо нужно подписать ЭЦП. Как тогда поступить?

Если класс защищенности персональных данных не выше 4го-3го (К3), то вообще ничего не нужно.
Соглашение на обработку - это публичная оферта. Его подписывать не нужно.

ЭЦП в письме имеет только функцию подписи. Если требуется прям заверить письмо. То тогда - да. Вероятно, нужно взаимодейтствовать как клиент-сервер.

Вариант с проверкой чужой ЭЦП на ПК третьей стороны - плохая идея.т.к. это распространение персональных данных. Это как минимум требует согласия каждого владельца ЭЦП. В этом случае соглашение в варианте публичной оферты невозможно. Т.к.любой пользователь в любой момент может сказать "я не разрешал", его подписи нет, а правонарушение есть.

Я вижу только 2 варианта.

1. Формировать документ (письмо/содержимое письма) в виде файла и подписывать его на сервере, либо возвращать (загружать) на сервер от пользователя обратно, после того. как он подпишет у себя на пк. (технически самый простой вариант) но пользователи задолбят вопросами что как где и куда. Если их много и они меняются, то этот вариант отпадает.

2. Организовывать подписание непосредственно на сервере. И, желательно, непосредственно в файле для пользователя. В противном случае вам придётся брать ответственность за каждое письмо. Это будет тоже самое, что вы просто будете говорить "письмо норм, верьте нам". При любом подозрении на подделку и мошенничество - виноватыми останетесь вы.

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

В большинстве случаев закон требует и логирование всех операций с документами и ЭЦП.
Погуглите для своей области. не могу знать.

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

Русское сообщество разработки на PHP-фреймворке Laravel.

Электронная цифровая подпись

Доброго времени!
Прошу совета у людей, у которых есть опыт работы с ЭЦП в веб-приложениях.
Задача стандартная, подписать документ, проверить подпись. Какими инструментами лучше это сделать? В голове много информации, личного эксперта в этом деле нет)) Нет понимания общих нюансов, что нужно для решения это задачи. Да и как вообще эта подпись к файлу подкрепляется, когда файл лежит на диске. Может есть актуальные гайды по этой теме.
Спасибо

Не в сети 09.10.2016

Имеется в виду работа с внешним устройством (токен, HSM и т.д. ) или обычная подпись закрытым ключом, проверка открытым? Если второе, то всё делается через функции OpenSSL в PHP (Laravel с какой-то версии 5.х требует openssl, так что расширение должно присутствовать).

Вкратце, есть документ, есть закрытый ключ, есть открытый ключ (ключи тоже генерируются openssl). Есть три варианта: зашифровать, подписать, зашифровать+подписать. Во всех случаях получается несколько строк с разными данными, которые для хранения/передачи могут склеиваться в одну.

Например, при шифровании:

Для шифрования для многих алгоритмов требуется IV (инициализирующий вектор) — в частности, для AES. Его обычно просто ставят в начале зашифрованных данных, так как его длина фиксированная. При расшифровке делают substr($data, 0, 32) (для AES-256, где ключ 32 байта).

Читайте также: