Как выполнить закрепление SSL в приложении react native с сервером Azure?

#azure #react-native #ssl #pinning

#azure #react-native #ssl #закрепление

Вопрос:

Я хочу реализовать закрепление SSL в своем приложении react native, как показывают результаты теста PEN. Наш сервер API находится в Azure. Когда я поискал в Google для закрепления SSL, я обнаружил, что нам нужно сгенерировать сертификат с помощью команд openssl. Но я получаю сообщение об ошибке

 s_client: -connect argument or target parameter malformed or ambiguous
unable to load certificate
4565851584:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
unable to load Public Key
4369083840:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: PUBLIC KEY
47DEQpj8HBSa /TImW 5JCeuQeRkm5NMpJWZG3hSuFU=
 

Я использовал следующую команду:

 openssl s_client -servername <AZURE API SERVERNAME> -connect <AZURE API SERVERNAME>:443 | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
 

Я перехожу по этой ссылке

https://itnext.io/react-native-security-ssl-pinning-cde086210d58

Есть ли что-то, что нам нужно сначала сделать на портале Azure. Мне нужна помощь в этом. Если кто-то уже выполнял закрепление SSL в приложении React Native с сервером Azure, пожалуйста, поделитесь ссылкой в качестве ссылки.

Комментарии:

1. Не могли бы вы поделиться своим кодом с помощью SSL Pinning?

2. Привет @user1295308 у вас есть какое-либо решение?

Ответ №1:

Пожалуйста, попробуйте выполнить эти 2 шага перед запуском этой команды OpenSSL:

  1. ping {ИМЯ СЕРВЕРА AZURE API}
  2. telnet {ИМЯ СЕРВЕРА AZURE API} {порт}

Если {AZURE API SERVERNAME} не является общедоступным доменом / IP-адресом, пожалуйста, обязательно добавьте его в файл hosts (в Windows) или Keychain (macOS).

Если указанные выше 2 проверки пройдут успешно, ваш OpenSSL сможет нормально возвращать правильное значение.