.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

要件

Linux環境でクライアント証明書を認証(アプリではサボりたい)。

既知の情報

  • 以下は、クライアント証明書を使用したプログラムのテスト動画

この構築は、IIS Expressで行った。

これをApacheや、他のWebサーバでやればイイだけ。

詳細

この処理を、中間層にオフロードしたい場合、

ProxyServlet?

...調べると以下のようなものがある模様。

これを使用して、

X.509をX-ARR-ClientCert?、X-Client-Certヘッダから、
読んで、任意のHTTPヘッダを追加して、代理リクエストすればイイ。

...しかし、色々調べて、具体的な実装方法が不明。

HAProxy

そこで他にも調べてみたが、

HAProxyというプロダクトにビンゴの当該機能が存在するっぽい。

ドキュメント

(Authentication Developer Guide 7.5.0 )

7. クライアント証明書認証
https://nec-baas.github.io/baas-manual/latest/developer/ja/auth/clientcert/index.html

  • 7.3. リバースプロキシで認証する場合の設定
    https://nec-baas.github.io/baas-manual/latest/developer/ja/auth/clientcert/haproxy.html
    • 本章では HAProxy によるクライアント証明書
      認証を行う場合の設定手順を説明します。
    • HAProxyからBaaSサーバへのリクエスト抜粋
      X-SSL-Client-CertAuth-Validated: 1
      X-SSL: 1
      X-SSL-USED: 1
      ...
      X-SSL-Client-DN: /C=JP/ST=Kanagawa/L=Kawasaki/O=...
      X-SSL-Client-CN: client001
      X-SSL-Client-UID: 00000001

自己署名証明書対策

なお、自己署名証明書の問題対策は以下に書かれている。

バックエンドに転送するHTTPヘッダ

余談、

SiteMinder?もバックエンドに認証結果情報をHTTPヘッダで転送していたと思うので、
調べてみたが、オレオレ・ヘッダなので、適当なヘッダに書き換えれば良さそう。

なので、HAProxy のX-SSL-Client-**でもOK。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-05-16 (木) 20:25:25 (188d)