x5t

証明書指紋

[6] 証明書指紋 (certificate thumbprintcertificate fingerprint) >>5 は、 証明書ハッシュ値 (要約) です。

仕様書

意味

[2] SPKI Fingerprint は、 X.509証明書SPKIDER 符号化したものを入力として既知の暗号学的ハッシュアルゴリズムに与えた時、 その出力のことをいいます >>1

Base64 符号化 SPKI Fingerprint

[9] Base64符号化SPKI Fingerprint は、 RFC 4648 Base64 符号化された SPKI Fingerprint です >>8

[3] pin-* 指令で使います。

x5t

[11] JWSヘッダー引数 x5t (X.509 certificate SHA-1 thumbprint (X.509 証明書 SHA-1 指紋) ) は、 JWS RFC 4949 デジタル署名に使ったに対応する RFC 5280 X.509 証明書DER 符号化の SHA-1 指紋 (thumbprint) (要約 (digest) ) を RFC 7515 base64url 符号化したものを表します。 >>5

[20] JWK鍵引数 x5t (X.509 certificate SHA-1 thumbprint (X.509 証明書 SHA-1 指紋) ) は、 RFC 5280 X.509 証明書DER 符号化の SHA-1 指紋 (thumbprint) (要約 (digest) ) を RFC 7515 base64url 符号化したものを表します。 >>19

[12] JWSヘッダー引数 x5t#S256 (X.509 certificate SHA-256 thumbprint (X.509 証明書 SHA-256 指紋) ) は、 JWS RFC 4949 デジタル署名に使ったに対応する RFC 5280 X.509 証明書DER 符号化の SHA-256 指紋 (thumbprint) (要約 (digest) ) を RFC 7515 base64url 符号化したものを表します。 >>10

[22] JWK鍵引数 x5t#S256 (X.509 certificate SHA-256 thumbprint (X.509 証明書 SHA-256 指紋) ) は、 RFC 5280 X.509 証明書DER 符号化の SHA-256 指紋 (thumbprint) (要約 (digest) ) を RFC 7515 base64url 符号化したものを表します。 >>19

[16] JWEヘッダー引数 x5t, x5t#S256 は、 それに対して JWE暗号化された公開鍵を含む証明書を示す指紋を表します。 JWE解読するための秘密鍵の決定に使えます。 >>15

[19] JWK では、 証明書JWK の他の鍵引数が表現する公開鍵と一致しなければなりません>>18

[13] x5t, x5t#S256 の使用は任意です。 >>5, >>10, >>18 指定してもしなくても構いません。

[21] JWK では鍵用法、算法、その他の情報の鍵引数は指定しても構いませんが、 その場合証明書と意味的に一貫していなければなりません。 この辺の事情は x5u の場合と同じです。 >>18

[14] x5tSHA-1 が使われるのは、互換性のためとされます。 x5t#S256SHA-256 を使いますが、 JWS 開発当時の既存の開発プラットフォームでこれに対応したものはありませんでした。 >>7

[17] JOSE鍵識別参照。

メモ

[4] RFC 7469 - Public Key Pinning Extension for HTTP ( 版) https://tools.ietf.org/html/rfc7469#appendix-A

openssl x509 -noout -in certificate.pem -pubkey | \

openssl asn1parse -noout -inform pem -out public.key

openssl dgst -sha256 -binary public.key | openssl enc -base64

Figure 11: Example SPKI Fingerprint Generation Code