急に、AndroidでASN.1をデコードしたくなった。
人生は唐突だ。
OpenSSLのコマンドでダンプ出来た気がするのだが、どうもOpenSSLではASN.1の一部しかサポートしていないらしい。
今回読みたいデータがどうなのかわからないけど、二度手間は避けたいところだ。
https://stackoverflow.com/questions/5964269/asn-1-encoding-decoding
Androidの標準にはないような気がするので、Javaで検索した。
Parsing ASN.1 binary data with Java - Stack Overflow
ASN1InputStreamというclassがあるらしい。
親切にサンプルソースへのリンクも載っていて、org.bouncycastle.asn1たちをimportしている。
ここまでは分かったのだが、Android StudioにASN1InputStreamと書いても、いつものようにAlt+Enterで自動的に対処してくれなかった。
ということは、外部JARなどを追加しないといけないのだろう。
それはわかるのだが、これからどうしたらよいのだろう?
こちらが本家だと思われる。
The Legion of the Bouncy Castle Java Cryptography APIs
latest releasesページにJARファイルがあるので、それを使えばよいのか。
それはそれでよさそうだが、StackOverflowに貼ってあったサンプルソースのリンク先を見てみると、ディレクトリ構造?の先頭が「Maven-Central」になっている。
そういえば、pyCharmなんかでは、ライブラリを検索して追加する機能があったけれども、AndroidStudioにも同じようなものがあるかもしれない。
これか。
「bouncycastle」で検索すると、大量に出てきた・・・。
たぶん、mavenのこんなページと同じ感じで出てきているんではなかろうか。
https://mvnrepository.com/artifact/org.bouncycastle
bouncycastleのドキュメントページのこちらにasn.1があったから、今回は「provider」というやつを使えばよいのだろう。
latest releasesでいえばこれか。
ただ、ここまでわかっても、まだDependencyのところで絞り込み方がわからん。。。
「org.bouncycastle:bcprov-jdk15on:1.58」でよい気がするのだが、自信はない。
とりあえず追加してやると、ASN1InputStreamをAlt+Enterでimportしてくれたが、それでも自信が持てない。。。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。