2015-08-14 3 views
0

У меня есть персональный цифровой сертификат CA.Как создать личный цифровой сертификат?

Как сделать суб-сертификаты, которые я буду подписывать с помощью этого доверенного?

Так цепочка будет выглядеть следующим образом: VeriSign <- Local CA <- ME <- [ Laptop 1, Laptop 2 ]

ответ

1

Чтобы использовать ваш сертификат подписать сертификат, сертификат должен иметь x509 расширение основных ограничений.

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

Да, вы можете быть отозваны, как только люди увидели, что вы это делаете, но отзыв в PKI не идеален по двум основным причинам. Во-первых, для кого-то может потребоваться возраст, чтобы понять, что вы выдаете случайные сертификаты, потому что ничего не будет выглядеть неправильно (игнорируя фиксацию сертификата, потому что не все браузеры делают это). Во-вторых, даже после того, как он отменен, большинство браузеров терпят неудачу в отношении информации об отзыве (что означает, что если они не могут достичь CRL/OCSP, они предполагают, что сертификат в порядке), и поэтому вы могли бы просто сделать DoS кому-то.

Вам необходимо будет свернуть собственный CA, чтобы выдавать сертификаты, и если вы хотите, чтобы им доверяли за пределами вашего частного домена, вам необходимо будет следовать строгим правилам о выдаваемых вами сертификатах и ​​проходить регулярные аудиты, чтобы убедиться, что вы следите за ними правила. Если вы просто хотите, чтобы они доверяли частному домену, вам даже не нужно разговаривать с другим ЦС, вы можете просто установить свой ЦС в хранилище доверия этого домена (или на отдельных компьютерах в домене - в зависимости от вашей настройки).

1

Вы не можете сделать суб-сертификаты, так как сертификаты могут быть созданы только органами сертификации. Профиль PKIX X509v3 определяет расширение сертификата Basic Constraints, которое указывает тип владельца сертификата: CA или конечный объект. Отсутствие сертификата или Subject Type = End entity означает, что вы не являетесь ЦС и не имеете права подписывать другие сертификаты.

p.s. технически вы можете подписывать другие сертификаты, однако эти сертификаты никогда не пройдут логику проверки цепи и будут отклонены навсегда.

, хотя, вы можете приобрести квалифицированный сертификат CA от коммерческого центра сертификации, и этот процесс называется сертификации Root Подписание: http://social.technet.microsoft.com/wiki/contents/articles/5973.certification-authority-root-signing.aspx

+0

Спасибо! Я не вижу технически, почему это было бы проблемой, в великой схеме вещей. Я думаю, что есть и экономический стимул, чтобы этого не сделать, и, возможно, «более слабые» доверие к субактам. Причина, по которой я хочу этого, заключается в том, что нынешние коммерческие поставщики смарт-карт практически не могут делать какие-либо реальные подписи/криптографии с сертификатами. Гемальто был бы одним из них. (Как использовать его с Github?) – stojanman