Releases
0.0.8
Compare
Sorry, something went wrong.
No results found
RFC 9530に対応しました。
Content-Digestのみに対応しています。Repr-Digestの対応は重視していません。
扱えるアルゴリズムは、Web Crypto APIとRFC 9530レジストリの両方にあるsha-256とsha-512のみです。
genRFC9530DigestHeaderでは、require('structured-headers').parseDictionaryでパースした要求ヘッダのWant-*-Digestをもとにダイジェストを1つ選んで返す機能があります。
verifyRFC9530DigestHeaderで来たRequest/Responseの検証に対応します。
opts.verifyAllでは、複数のアルゴリズムのダイジェストが含まれていた場合に、全てを検証するか一つだけ検証するかを選びます。
algorithmsでは、検証可能なアルゴリズムを文字列配列で設定します。また、verifyAll: false時には、algorithmsの若いインデックスのものからアルゴリズムを選択します。
genDigestHeaderBothRFC3230AndRFC9530を作成しました
第1引数のrequestに対してDigest(RFC 3230)ヘッダおよびContent-Digest(RFC 9530)ヘッダを追加します。
verifyDigestHeader/verifyRFC3230DigestHeader/verifyRFC9530DigestHeaderで第3引数のオブジェクトへalgorithmsとしてハッシュアルゴリズム文字列配列を指定することで、認証するアルゴリズムを制限することができるようになりました。
algorithmsの初期値は['SHA-256', 'SHA-512']です。
verifyDigestHeader/verifyRFC3230DigestHeaderでは、従来第3引数はfailOnNoDigest (boolean)でしたが、booleanとobjectの両方に対応しています。
ダイジェストを比較する際、「来たbodyのダイジェストをbase64に変換し、base64文字列同士を比較」する方式から「Digestヘッダのbase64をUint8Arrayに変換し、来たbodyのダイジェストを計算し(base64にせず)、Uint8Array同士を比較」する方式にしました。
RFC 9421のSignature Baseを生成するためのRFC9421SignatureBaseFactoryを作成しました(RFC 9421の部分的実装)
You can’t perform that action at this time.