кто контролирует ваше SSL-завершение в вашей среде?
если вы используете EventMachine, вы можете использовать внутри post_init
def post_init
start_tls :private_key_file => 'mycert', :cert_chain_file => 'mychain', :verify_peer => true
end
и затем в обратном вызове вы можете проверить действительность сертификата
def ssl_verify_peer(cert)
#TODO: check if the client cert is valid
end
с точки зрения безопасности можно проверить действительность ssl-сертификата на стороне клиента. Вы просто должны держать это в секрете. если кто-то украдет этот файл, аутентификация будет обойдена. Вот почему это хорошая практика - использовать сертификат + пароль (двухфакторное подтверждение).
С уважением.