Как я могу использовать HTTP Sender для отправки сертификата клиента без плагина SSL Manager? - PullRequest
0 голосов
/ 20 сентября 2018

У нас есть сервер Mirth, на который не распространяется контракт на поддержку, и ему необходимо POST для службы HTTP-аутентификации по сертификату клиента.Поскольку сертификат самоподписан, добавление его в appdata\keystore.jks, похоже, не работает.

Как я могу явно указать сертификат клиента для получателя HTTP-отправителя, не разветвляясь надбольшие деньги?

1 Ответ

0 голосов
/ 20 сентября 2018

Создать обратный прокси-сервер nginx.Таким образом, Mirth подключается только по HTTP - nginx отправляет сертификат клиента.

Для Windows:

  1. Распакуйте nginx
  2. Обновлениеconf \ nginx.conf
  3. Установить для запуска в качестве службы с помощью nssm

Я заменил nginx.conf на приведенный ниже, чтобы упростить процесс, слушая толькоhttp://127.0.0.1:8106/:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    server {
        listen 127.0.0.1:8106;
        server_name localhost;

        location / {
            proxy_pass https://upstream-server;

            # To generate a key&crt from pfx:
            # openssl pkcs12 -in client-certificate.pfx -nocerts -out client-certificate.key -nodes
            # openssl pkcs12 -in client-certificate.pfx -clcerts -nokeys -out client-certificate.crt

            proxy_ssl_certificate "C:/path/to/nginx-1.15.3/conf/client-certificate.crt";
            proxy_ssl_certificate_key "C:/path/to/nginx-1.15.3/conf/client-certificate.key";
        }
    }
}
...