Как я могу использовать HTTP Sender для отправки сертификата клиента без подключаемого модуля SSL Manager?

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

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


person Mitch    schedule 19.09.2018    source источник
comment
@Freiheit, согласен - они очень похожи. Я не думаю, что это дубликат, поскольку я говорил о сертификате client, а не о более распространенном сертификате недоверенного сервера. Хотя решения похожи.   -  person Mitch    schedule 28.09.2018
comment
моя ошибка. Я вижу, что вы задаете узконаправленный вопрос о взаимном TLS, а не общий вопрос другого пользователя.   -  person Freiheit    schedule 28.09.2018


Ответы (1)


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

Для окон:

  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";
        }
    }
}
person Mitch    schedule 19.09.2018