Как использовать сертификат CA сертификатов, сертификат клиента, ключ клиента при отправке защищенного запроса SSL / TLS в мобильном приложении flutter

#flutter #dart #request #flutter-dependencies #dart-pub

Вопрос:

Docker Engine предоставляет зашифрованный API (работает на HTTPS (SSL / TLS)), который требует:

  1. ca.pem (сертификат CA)
  2. cert.pem (сертификат клиента)
  3. key.pem (ключ клиента) при отправке запроса API.

https://docs.docker.com/engine/security/protect-access/

В python я могу передавать эти сертификаты, используя метод запросов, для отправки запроса на сервер (на стороне клиента):

 import requests

CA_CERT = './ssl-tls-keys/ca.pem'

CLIENT_CERT = './ssl-tls-keys/cert.pem'
CLIENT_KEY = './ssl-tls-keys/key.pem'

URL = 'https://65.0.95.227:2376/containers/json?all=1'


def get_container_list():
    response = requests.get(url=URL, cert=(CLIENT_CERT, CLIENT_KEY),
                            verify=CA_CERT)
    return response.json()


def print_containers_data():
    for container in get_container_list():
        print('Container [Id: %s, Name: %s, Status: %s]' %
              (container['Id'], container['Names'][0], container['Status']))


print_containers_data() 

Используя curl, мы можем отправить запрос с помощью:

 curl https://$HOST:2376/images/json 
  --cert cert.pem 
  --key key.pem 
  --cacert ca.pem 

Я не могу понять, как я могу использовать эти 3 сертификата при отправке запроса https в API Docker Engine в flutter.

Я пытался использовать пакеты HTTP и DIO, но там ничего не нашел.