2010-05-05 3 views
1

Я начал проект на основе обмена клиентским сервером в Java. То, что я делаю, - это клиент и сервер, имеющие свои собственные сертификаты. При первоначальной связи клиент и сервер будут обмениваться сертификатами. Сервер должен проверить сертификат клиента и предоставить аутентификацию. Где я ударил, на каком сервере темы можно проверить или аннулировать конкретный клиент ..? Я не могу исходить отсюда. Поэтому, пожалуйста, любой из вас может дать краткое объяснение об этом? если возможно, некоторые псевдокоды в java ..?Самостоятельная аутентификация на основе сертификатов

ответ

1

Самих подписал сертификаты не могут быть проверены с помощью обычных методов PKI - то есть, проверьте CERT цепь до якоря доверия, не на CRL и т.д.

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

Другим подходом было бы использовать что-то вроде обертки opensl CA.pl для настройки мини-ЦС и выдачи сертификатов клиентов. Затем эти выданные сертификаты соединяются с одним корнем. Этот корень все же должен быть надежно передан всем полагающимся сторонам, но не другие сертификаты, выпущенные корневым ЦС.

UPDATE: (в ответ на вопрос в комментариях ниже)

Вот несколько способов, чтобы получить CERT отпечаток:

  • с помощью OpenSSL: OpenSSL x509 -sha1 -в cert.pem - noout -fingerprint
  • на окнах сохранить в виде файла .cer затем дважды щелкните его затем перейдите на вкладку Детали
  • с помощью этого инструмента: online cert decoder

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

+0

Спасибо большое. У меня есть кое-что .. Я хотел бы знать, как мы можем проверить, используя отпечатки пальцев для аутентификации клиентов. Я не хочу использовать сторонние ЦС в своем приложении. Поэтому я не использую сертификаты OpenSSL. Как мы можем аутентифицировать клиентов с помощью Thumbprint? –

+0

@Tadi Vijay Kumar: Я добавил информацию о том, как получить отпечаток сертификата. Надеюсь это поможет. – bignum

Смежные вопросы