Closed8
OpenID Connect の Conformance Test をローカル環境で行う
これを使うと comformance test をローカルで実行できるみたい
こっちがミラー
起動
git clone git@github.com:openid-certification/conformance-suite.git
git co -b release-v5.1.17 refs/tags/release-v5.1.17
MAVEN_CACHE=./m2 docker compose -f builder-compose.yml run builder
docker compose up -d
証明書取得
docker exec -it conformance-suite-httpd-1 cat /etc/ssl/certs/ssl-cert-snakeoil.pem > ~/Downloads/localhost-cert.pem
証明書を Keychain に取り込む
sudo security add-trusted-cert -d -k /Library/Keychains/System.keychain ~/Downloads/localhost-cert.pem
削除はこのコマンド( ハッシュ値はオプション )
sudo security delete-certificate -c localhost -Z "<SHA256_HASH>" /Library/Keychains/System.keychain
ハッシュ値は次のコマンドで取得できる
openssl x509 -fingerprint -sha256 -in ~/Downloads/localhost-cert.pem | grep "sha" | grep -o -E "[0-9A-Z:]{64}" | sed "s/://g"
- コンテナが起動したらブラウザで
https://localhost:8443/
にアクセス -
Create a new test plan
をクリック -
Test Plan
からOpenID Connect Core: Basic Certification Profile Authorization server test
を選択 -
Server metadata location
からdiscovery
を選択 -
Client Registration Type
からstatic_client
を選択 -
Servder.discoveryUrl
に/.well-known/openid-configuration
の URL を入力 -
Client.client_id
に Client ID を入力 -
Client.client_secret
に Client Secret を入力
異なるネットワークに存在するコンテナと通信する場合は host.docker.internal
という DNS 名を使う。
例えばネットワーク A からネットワーク B にリクエストを送信する場合。B でポートフォワードが 8080:80
に設定されている場合の URL は http://host.docker.internal:8080
となる。
ECDSA 公開鍵の情報を出力するコマンド
openssl ec -pubin -in public.pem -text -noout
入力を公開鍵として解釈してもらうために -pubin
が必要
PEM 形式の鍵のフィンガープリント( ハッシュ値 )を算出するコマンド。Base64 デコードして DER 形式に変換してから SHA256 ハッシュを計算する。
grep -v ^- private.pem | base64 -d | sha256sum
このスクラップは4ヶ月前にクローズされました