В нашей производственной системе у нас есть настольное приложение linux, которое защищенным образом связывается с нашим внутренним файловым сервером.
Приложение использует openssl для проверки сертификатов.
Для При первом использовании пользователю необходимо импортировать 3 сертификата вручную:
-Root and intermediate certificate chain.
-chain-certs.chain
Openssl Command to generate chain:
cat /root/ca.crt interca.crt > chain-certs.chain
- End-user certificates
-user1.crt
-user1.key + password
- if CRL checked ?( import 3 more certificates)
-ca.crt
-interca.crt
-interca.crl.pem
Приложение:
Step 1 - validate the end user certificate against the chain
openssl verify -CAfile chain-certs.chain user1.crt
Step 2 - validate the end-user certificate against CRL
First :
cat /root/ca.crt interca.crt interca.crl.pem > chain-certs.crl.chain
And :
openssl verify -crl_check -CAfile chain-certs.crl.chain user1.crt
all OK, then :
Step 3 -store certificate
Step 4 -extract the private key from user1.key and use it for secure communication...
Нам необходимо разработать приложение android, которое будет выполнять те же шаги, что и linux application.
Я впервые работаю с сертификатом в android, я не знаю с чего начать.
(1) Мы хотим опубликовать sh все сертификаты на веб-сервере, поэтому пользователь может ссылаться на каждый необходимый сертификат по URL? Безопасно ли публиковать sh также сертификат конечного пользователя, который является файлом, защищенным паролем?
или лучше установить сертификаты вручную на устройство android?
(2 ) Можете ли вы помочь мне, введя эквивалентный android код каждой команды openssl? (Шаг 1 и Шаг 3)
Спасибо