Server List(ID登録タイプ)の認証キーのフォーマットについて
ID登録タイプによるサーバーAPIのコールをテストしております。
以下の投稿者と同様に「認証キーがそのままでは使用できない」という問題が発生しております。
https://developers.worksmobile.com/jp/community/general/151/?selectedCategory=all
[2]JWT/JWS生成ライブラリについて
Developers Consoleから発行されたprivate.keyをそのままJWTの署名に使用しようとすると、private.keyのフォーマットがおかしいとのエラーが出ます。
試しにopensslでチェックをかけてみると、
$ openssl rsa -in private.key -check
RSA key ok
4294956672:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1199:
4294956672:error:0D06C03A:asn1 encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error:tasn_dec.c:765:
4294956672:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:697:Field=n, Type=RSA
4294956672:error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib:rsa_ameth.c:119:
とエラーになります。
先の投稿者と同様に
$ openssl rsa -in private.key -text の「-----BEGIN RSA PRIVATE KEY-----」~「-----END RSA PRIVATE KEY-----」の部分
または
$ openssl rsa -in private.key -out private.key.out
の結果をJWTの署名に使用すると成功します。(両者の内容は同一です)
認証キーのフォーマットについて何か情報があれば教えていただけますでしょうか。
コメント4
업데이트 된 답글입니다.
LINE WORKS 公式アカウント
よってご利用のライブラリがPKCS#8には対応していない場合、形式エラーが発生いたします。
opensslはデフォルトがPKCS#1のため下記等でPKCS#8からPKCS#1に変換され、
ご利用のライブラリがPKCS#1は対応されているようで利用できるようになった、といった事象です。
$ openssl rsa -in private.key -out private.key.out
配布のままの秘密鍵を利用する場合は、PKCS#8に対応したライブラリを利用していただければと思います。
PKCS#8非対応のライブラリを利用する場合は、対応する形式に秘密鍵を変換していたらければと思います。
ドキュメントの記載が不十分で失礼いたしました。
2017.12.14
업데이트 된 답글입니다.
システムエージェントジャパンシステム管理者 投稿者
2017.12.14
업데이트 된 답글입니다.
LINE WORKS 公式アカウント
今後 PKCS#8 対応の書式(BEGIN PRIVATE KEY)へと修正いたします。失礼いたしました。
2017.12.14
업데이트 된 답글입니다.
システムエージェントジャパンシステム管理者 投稿者
新たにDeveloper Consoleからダウンロードしたところ、問題なく使用できました。
早速のご対応ありがとうございました。
2017.12.15
まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。