Описание источника OpenSSL

1, стандарт Х.509

X509, разработанный Международным союзом электросвязи (МСЭ-Т) стандарт для цифровых сертификатов, содержит открытый ключ и идентификатор пользователя, CA и тому подобное;

x509 стандартизирован цифровые сертификаты, P7 и P12 являются два пакетом, формат сертификат X.509 общеизвестный. Все сертификаты должны соответствовать международному стандарту ITU-T x509 инфраструктуры открытых ключей, разработанной.

PKCS # 7 обычно используют суффиксы: P7B, P7C, SPC

PKCS # 12, обычно используемые суффиксы: P12, PFX

X. 509 ДЕР кодирования (ASCII) суффикс: МЭД С ЭЛТЫ

X. Кодирование суффикс 509PEM (base64) является: РЕМ ССВ ЭЛТ

После того, как формат сертификат П в кодировке base64, формат дер ДЕР-закодированы сертификат;

Операции сертификатов и экспорта поддерживают четыре форматы файлов.

  • Обмен персональной информацией (PKCS # 12)
    Формат обмена личной информацией (PFX, также называемый PKCS # 12) поддерживает безопасное хранение сертификатов и закрытых ключей для всех сертификатов в пути сертификации. PKCS # 12 является единственным форматом файла , который может быть использован для экспорта сертификата и закрытого ключа.
  • Cryptographic Message Syntax Standard (PKCS # 7)
    Все сертификаты PKCS # 7 Формат поддерживает хранение сертификатов и пути сертификации
  • кодировка X.509 МЭД
    Уважаемых правила кодирования формат (МЭД) поддерживает хранение одного сертификата. Формат не поддерживает хранение секретного ключа или сертификацию пути.
  • Х.509 Base64 , кодирующий
    формат Base64 поддерживает хранение одного сертификата. Формат не поддерживает хранение секретного ключа или сертификацию пути.

CER Сертификат / элто: средство для хранения формата сертификат открытого ключа, который хранится в двоичном, без секретного ключа не может быть введен в личное хранилище, так как индивидуальная область хранения хранения секретного ключа, связанный с цифровым сертификатом; ОГО формат элты просто суффикс, суффикс может PEM сертификата может также быть закодирован дером закодированных; 

PFX / p12 сертификат: содержит соответствующий закрытый ключ и сертификат, может быть введены IE, личным хранилище сертификатов;

Формат сертификата Р12, как правило, используется для распространения сертификата, который содержит сертификат и соответствующий закрытый ключ;

Так как прокси Apache Предпочитают формат РЕМ не поддерживается сертификатом DER-закодирован, и, следовательно, сертификат через транскодирование, то транскодирование PEM DER, а затем с помощью Apache.

Из DER закодированные сертификат, но DER-закодированный файл в двоичном формате не способствует для чтения и распространения, поэтому Base64 кодированные данные кодирования DER формируется PEM.

2, PKCS стандартов серии

По PKCS RSA Digital Security, но это более развито, запрос на сертификат, обновление, CRL, DS и так далее;

В чем PKCS7, определяет общий синтаксис сообщений, в том числе шифрования и цифровой подписи, совместимы с ПОМ, переходят друг в друга;

PKCS12, Обмен персональной информации описание синтаксиса, упаковка общественности, закрытые ключей, сертификатов и другой информации;

PKCS означает Public-Key стандарты криптографии, с помощью RSA Laboratories и других систем безопасности разработчика для развития криптографии с открытым ключом и разработал ряд стандартов, PKCS в настоящее время выпустил в общей сложности более 15 стандартов. Обычно используются следующие:
PKCS # Cryptographic Послание Syntax Standard 7.
В PKCS # 10 стандарт сертификации Запросе
в PKCS # 12 является обмен Синтаксис Стандартный Персональная информация

Для сравнения:

P7, как правило, делится на два файл сертификат закрытого ключа с открытым ключом, есть два вида П и кодирование DER. PEM является более распространенным, является простым текстом, P7, как правило, используются для распространения открытых ключей, видит кучу видимых строк, расширение часто .CRT, .cer, .key и так далее. МЭД представляет собой двоичное кодирование.

P12 вдавливается в файл сертификата PFX-. В основном за счет сертификата распределения, закрытый ключ должен храниться строго конфиденциальной и не может распространяться случайно в текстовом режиме. Так формат P7 не подходит для распространения. .pfx может быть защищен паролем, поэтому относительно безопасны.

На практике, пользователю учетные данные на USB-ключ в распределении, или файловый сервер сертификатов часто распространять. Сертификаты сервера и пользовательские сертификаты X509 есть, то есть, внутри свойства различны.

3, Openssl исходный анализ кода

1. Введение

Открытый исходный код средства безопасности SSL, содержащий протокол SSL, большое количество мягкого алгоритма (симметричная / асимметричная / резюме), асимметричного алгоритма генерации ключа, в ASN.1 библиотеки кодеков, запрос сертификата (pscs10) кодек, цифровой сертификат, CRL кодеков , протокол OCSP, PKCS7 стандартную реализацию и реализация PKCS12 персональный цифровой формат сертификата и другие функции;

Использование развития языка C, кросс-платформенный расположение;

рамки 2. Источник

Основном Eay базовой библиотеки, Ssl библиотеки, инструменты, демо и тестовой композиции;

Eay исходный код, в каталоге крипто, в том числе:

1) ASN.1 DER-кодек (криптографический / каталог ASN.1), причем запрос содержит цифровой сертификат, список отзыва CRL и функцию pkcs8 кодека;

2) Абстрактный IO (БИО, криптографический / каталог био), реферат содержит различную вход и выход, файл, память, STDIO, гнездо, SSL;

3) большое число операция (криптографическая / млрд каталога), асимметричные алгоритмы для генерации ключей шифрования и дешифрования и разнообразия;

4) буфер символов (криптографический / каталог буфера);

5) считывает файл конфигурации (криптография / директории конф), основной конфигурационный файл для openssl.cnf. Изменение каталога для достижения формата чтения файла конфигурации;

6) ДСО Динамический общий объект (криптографический / DSO каталог), реферат каждой платформы динамических функций библиотеки загрузки, обеспечивая единый интерфейс;

7) аппаратные двигатели (криптографический / каталог двигателя), обеспечивает требования интерфейса;

8) Обработка ошибок (cryto / каталог ERR), то интерфейс, обеспечивающий обработку, стек, чтобы отобразить сообщение об ошибке;

9) симметричные алгоритмы, асимметричные алгоритмы и переваривать алгоритмы пакета (криптографический / каталог ЦПС)

10) HMAC (криптографический / каталог HMAC), на основе MAC-симметричного алгоритма;

11) хэш-таблица (криптографический / каталог lhash), чтобы достигнуть структуры хэш-таблицы данных;

12) OCSP онлайн аутентификации цифровой сертификат (криптографических / каталог ОМТП), протоколы, кодек ОМТП тому подобное;

13) Формат файла РЕМ обрабатывается (криптографический / Справочник PEM), и чтение файла генерируется PEM;

14) PKCS7 Синтаксис сообщения (криптографический / каталог PKCS7), и выполненный с возможностью достижения PKCS7 сообщение синтаксического анализа;

15) PKCS12 персональный формат сертификата (криптографический / каталог PKCS12), и выполненный с возможностью достижения сертификата PKCS12 синтаксического анализа;

16) очередей (криптографический / каталог pqueue), структура данных очереди, для DTLS;

17) случайное число (криптографический / каталог RAND), псевдо-генератор случайных чисел, чтобы поддерживать определенный пользователь;

18) стек (криптографический / каталог RAND) реализуется структура данных стека;

19) поддержка потоков (криптографические / потоки), OpenSSL поддержка многопоточного, но пользователь должен выполнить соответствующие интерфейсы;

20) текст базы данных (крипто / каталог txt_db);

21) Х509 цифровой сертификат (криптографический / каталог X509), содержащее запрос на цифровой сертификат, сертификат и CRL подпись верификации и структурный анализ;

22) симметричный алгоритм (криптографический / АЕС, криптографический / Б.Ф., криптографический / литой, криптографический / OMP и криптографический / дез и т.д.);

23) алгоритм асимметричного (криптографический / дк, криптографический / DSA, crytpo / ес и криптографический / ECDH);

24) Дайджест алгоритм (криптографический / MD2 / 4/5 / Ша) и обмен ключами / алгоритм аутентификации (криптографический / дк и криптографический / krb5);

 

В SSL библиотеки исходного каталога код SSL, включающий SSLv2, SSLv3, TLSv1 и источник DTLS; источник содержит клиент, сервер исходный код, общий, лежащий в основе пакета, а также способ вычисления протокола источника связанных ключей;

Исходные инструменты в шифровании / каталога приложений; демо исходный код в аппаратных двигателей двигателей; испытательный источник в тесте;

 

 Выдержки: https://www.cnblogs.com/testlife007/p/6699566.html

 Более подробный анализ исходного кода может означать: «OpenSSL Программирование»

 

рекомендация

отwww.cnblogs.com/xdyixia/p/11690892.html