Search:

Протокол SSL

Дополнительные свойства, описанные в скрипте (v3_req), означают, что клиент может использовать сертификат для подписывания и шифрации, но его сертификат не является CA сертификатом. Для CA-сертификата значение basicConstraits должно быть равно CA:TRUE (об этом забывать нельзя!). Поле nsCertType определяет дополнительные назначения данного ключа (для использования в качестве клиента, подписывания, использования в почтовых сообщениях). Для CA-сертификатов обычно применяют следующие значения nsCertType: sslCA, emailCA. Для ssl-ключей серверов (например, Apache) используется значение nsCertType = server. Полученный таким образом сертификат клиента будет содержать информацию о поставщике сертификата (то есть о вашем сертификате организации). Клиенту необходимо будет передать его сертификат, его секретный ключ (зашифрованный!) и ваш сертификат организации. Для клиентов Micro$oft необходимо еще и перевести сертификаты в формат PKCS#12.

Для этого воспользуемся командой openssl pkcs12:

openssl pkcs12 -export -in client.pem
-inkey client-key.pem -out client.p12

-name "Client certificate from our organization"

Для обратного преобразования используется синтаксис:

openssl pkcs12 -in client.p12 -out client.pem

В выходной файл записываются сертификат клиента, ca сертификат, секретный ключ клиента (его можно зашифровать опцией -des3, -idea и.т.д.). Такое поведение позволяет использовать для вывода только формат pem (маркеры здесь обязательны!). Для экспорта сертификата организации можно воспользоваться командой pkcs12 (конечно же, без параметра inkey ;), можно также обработать сертификат организации base64 и сохранить в файле .cer (openssl x509 -in CA.pem -outform DER -out CA.cer).

В openssl существует компонент управления s/mime-сообщениями, называющийся openssl smime. Данная утилита позволяет зашифровывать, расшифровывать, управлять ЭЦП и MIME-заголовками писем. Приведу опять же несколько примеров ее использования:

openssl smime -sign -in mail.txt -text -from CEBKA@smtp.ru -to
user@mail.ru -subject "Signed message" -signer mycert.pem -inkey
private_key.pem | sendmail user@mail.ru

Подписывает сообщение -in (в текстовом виде) и подписывает (-sign) его с помощью сертификата (-signer) и секретного ключа (-inkey). Вывод идет непосредственно к sendmail, для этого определены MIME-заголовки from, to и subject.

openssl smime -verify -in mail.msg -signer user.pem -out signedtext.txt

Проверяет подпись в файле -in, записывает сообщение в файл -out, а полученный сертификат — в файл -signer (для проверки s/mime-сообщения не требуется ничего, кроме него самого, т.к. ЭЦП s/mime содержит публичный ключ!).

openssl smime -encrypt -in mail.txt -from CEBKA@smtp.ru
-to user@mail.ru

-subject "Encrypted message" -des3 user.pem | sendmail

user@mail.ru

Шифрация файла -in с помощью сертификата получателя "user.pem", используя алгоритм "des3". Вывод программы посылается непосредственно в sendmail.

openssl smime -decrypt -in mail.msg -recip mycert.pem

-inkey private_key.pem

-out mail.txt

Расшифровка файла -in с помощью секретного ключа -inkey и сертификата -recip (ваш собственный сертификат).

Есть альтернатива не указывать smime-заголовки from, to и subject. Можно просто указать необходимый файл -out и добавить заголовки с помощью программы sendmail вручную. Кроме этого, есть еще одна деталь использования smime: некоторые почтовые клиенты используют в качестве подписи вложение в формате PKCS#7 (чаще всего закодированное base64). В таком случае необходимо применять smime следующим образом:

openssl smime -verify -inform [PEM | DER]
-in signature.pem[der] -content

mail.txt

PEM используется для стандартного формата PKCS#7, а DER заставляет произвести дополнительную обработку base64. Учтите, что в данном случае файл -in представляет собой только подпись (аттачмент), а -content — непосредственно текст письма. Можно также заставить smime подписывать сообщения подобным образом, если указать опцию -pk7out (PEM формат). Для преобразования PKCS#7 структуры из формата PEM в формат DER можно воспользоваться утилитой openssl base64 (обратное преобразование достигается за счет использования опции -d).

Перейти на сторінку номер:
 1  2  3  4  5  6  7  8  9  10  11  12  13 


Подібні реферати:

Програми архіватори, антивірусні програми

В процесі роботи на ПК перед користувачем часто виникає проблема нестача дискового простору. Доводиться або знищувати менш важливу інформацію, або записувати на CD-RW, стримери чи інші носії. Та існує ще один вихід із цього становища. Це процес так званого архівування інформації. Архівування – це процес стискування інформації (файлів, груп файлів, каталогів, цілих дисків) з метою економії дикого простору та захисту її від несанкціонованого доступу. Оскільки в стиснутому вигляді інформацією скористатись неможливо, що ...

Форми представлення чисел

Ми звикли вести рахунок десятками (10 одиниць утворює десятку, 10 десятків - сотню і т.д.), тобто вести рахунок у десятковій системі числення. Рахувати можна не тільки десятками. Існують і інші системи числення. Під системою числення розуміють сукупність правил зображення чисел цифровими знаками. Розрізняють позиційні й непозиційні системи числення. В непозиційних системах числення вага кожного знака не залежить від його положення по відношенню до інших знаків у числі, кількість знаків не обмежена. У римській системі ...

Протокол SSL

Протокол SSL Handshake (Secure Sockets Layer — защищенный протокол) разработан корпорацией Netscape Communications для обеспечения безопасности и секретности интернет-соединений. Протокол поддерживает аутентификацию (установление подлинности) клиента и сервера, не зависит от приложений и прозрачен для протоколов HTTP, FTP и Telnet. Однако, SSL оптимизирован для протокола HTTP, а для FTP более предпочтителен IPSec (см. подп. 5.1.4). SSL способен передавать ключи шифрования, а также устанавливать подлинность ...