Como posso implementar a fixação de certificados SSL enquanto uso o React Native

Preciso implementar a fixação de certificado SSL no meu aplicativo nativo de reação.

Eu sei muito pouco sobre SSL / TLS e muito menos fixar. Também não sou desenvolvedor móvel nativo, embora conheça Java e tenha aprendido o Objective-C neste projeto o suficiente para se locomover.

Comecei a procurar como executar esta tarefa.

O React Native já não implementa isso?

Não, minha pesquisa inicial me levou aesta proposta que não recebe nenhuma atividade desde 2 de agosto de 2016.

Aprendi com isso que o react-native usa OkHttp, que suporta Pinning, mas não seria capaz de extraí-lo do Javascript, o que não é realmente um requisito, mas uma vantagem.

Implemente-o em Javascript.

Embora o React pareça usar o tempo de execução do nodejs, é mais um navegador do que um nó, o que significa que ele não suporta todos os módulos nativos, especificamente o módulo https, para os quais eu implementei a fixação de certificados a seguirEste artigo. Assim, não poderia levá-lo a reagir nativo.

Eu tentei usar rn-nodeify, mas os módulos não funcionaram. Isso ocorre desde RN 0,33 a RN 0,35, no qual estou atualmente.

Implementar usando o plugin phonegap

Pensei em usar umphongape-plugin no entanto, como tenho uma dependência de bibliotecas que exigem reagir 0.32+, não posso usarreact-native-cordova-plugin

Apenas faça isso de forma nativa

Embora eu não seja um desenvolvedor de aplicativos nativo, sempre posso fazer uma rachadura, apenas uma questão de tempo.

O Android tem fixação de certificado

Eu aprendi que o Android suportaFixação SSL no entanto, foi malsucedido, pois parece que essa abordagem não funciona antes do Android 7. Além de funcionar apenas para o Android.

A linha inferior

Eu esgotei várias direções e continuarei a buscar uma implementação mais nativa, talvez descubra como configurar o OkHttp e o RNNetworking e, em seguida, talvez faça uma ponte para reagir de maneira nativa.

Mas já existe alguma implementação ou guia para IOS e android?

questionAnswers(2)

yourAnswerToTheQuestion