ES256 errors with InvalidEcdsaKey
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- ドキュメント
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- rust
- 領域
- cryptography, security
調査の方向性
Issue に示されている secp256k1 と prime256v1 の鍵構造を、ring::io::der::expect_tag_and_get_value と tests.pem を使用する適応済みテストから調べて比較します。ライブラリが受け入れる曲線とアルゴリズムの組み合わせを検証します。対応している曲線、secp256k1 が InvalidEcdsaKey を生成する理由、および正しい鍵生成例を文書化できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Deep down in ring::io::der::expect_tag_and_get_value I always get an error bubbling up to an InvalidEcdsaKey. I think my brain melted trying to figure out the problem.
This is how I'm generating keys:
openssl ecparam -name secp256k1 -genkey -noout -out private.sec1.pem
openssl ec -in private.sec1.pem -pubout > public.pem
openssl pkcs8 -topk8 -nocrypt -in private.sec1.pem -out private.pkcs.pem
Here's the private key:
openssl asn1parse -i -in private.sec1.pem
0:d=0 hl=2 l= 116 cons: SEQUENCE
2:d=1 hl=2 l= 1 prim: INTEGER :01
5:d=1 hl=2 l= 32 prim: OCTET STRING [HEX DUMP]:311AF2663D9B22B553BD72E1960640D8586C4A7D6CBA2B1915F8988E1FE0DFDF
39:d=1 hl=2 l= 7 cons: cont [ 0 ]
41:d=2 hl=2 l= 5 prim: OBJECT :secp256k1
48:d=1 hl=2 l= 68 cons: cont [ 1 ]
50:d=2 hl=2 l= 66 prim: BIT STRING
Here's the key you use in tests:
openssl asn1parse -i -in tests.pem
0:d=0 hl=3 l= 135 cons: SEQUENCE
3:d=1 hl=2 l= 1 prim: INTEGER :00
6:d=1 hl=2 l= 19 cons: SEQUENCE
8:d=2 hl=2 l= 7 prim: OBJECT :id-ecPublicKey
17:d=2 hl=2 l= 8 prim: OBJECT :prime256v1
27:d=1 hl=2 l= 109 prim: OCTET STRING [HEX DUMP]:306B020101042059315F08696363A6B0DC7AED90798F4626B3BA4C4F2DBEA29694407B08D6F278A14403420004C3B240A14FE025B649BD5FB308EBD4F72149AB414D0BF79D08C44CEFC3FC7904C10835132B5CB04986ACCEF419BE77A25BA80DB561099DD4AB784732C94755BE
I adapted your test and ran the test using the same curve your key uses and the curve I used based on a guide on Akamai and the test worked once I switched to prime256v1. I started typing this issue after an hour of debugging but found the fix while collecting all the details. Is there a reason one curve would work but not another? With the right info I'd like to document it so it doesn't trip up someone else.
- 主要言語
- Rust
- スター
- 2.1k
- フォーク
- 371
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Keats/jsonwebtoken のほかの issue
-
`Jwk::from_encoding_key` rejects PKCS#8 v2 (RFC 5958) Ed25519 private keys対応中かも @ucsurf が 15 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Keats/jsonwebtoken#544 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
Keats/jsonwebtoken#542 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
Keats/jsonwebtoken#519 · コメント 2 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Keats/jsonwebtoken#497 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Keats/jsonwebtoken#297 · コメント 19 件 · リアクション 2 件 ·
Keats/jsonwebtoken の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
メンテナーはふだん 3 日以内に返信
-
Zellij doesn't validate hex colors correctly and crashes対応中かも @ymcx が今日担当しました。 オープンsuspected bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
zellij-org/zellij#5732 ·
メンテナーはふだん 1 日以内に返信
-
bug rust
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
jonathanong/no-mistakes#2267 ·
メンテナーはふだん 1 日以内に返信
-
BASEPRI needs an ISBオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 69/100
rust-embedded/cortex-m#702 · コメント 1 件 ·
-
Make major, minor, and makedev safe on solarish targets対応中かも @xtqqczze が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信