Перевести команды openssl в код android java - PullRequest
0 голосов
/ 01 мая 2020

В нашей производственной системе у нас есть настольное приложение 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)

Спасибо

...