問題タブ [der]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - OpenSSL 1.1.0 で STACK_OF(X509) を DER に変換するには?
OpenSSL 0.9.8 から 1.1.0 への移植に取り組んでいるときに、不足している機能に遭遇しました。OpenSSL チームはコード ベースの整理に忙しくしており、整理の 1 つは ASN 処理マクロと関数を削除することでした。以前は、次のコードでSTACK_OF(X509)
certs から に変換できました。DER
注: 例を簡潔にするために、エラー処理を削除しました
これにより、リンクがなくなり、ビルド プロセスが未解決の外部シンボルでエラーになります。
0.9.8 のコード ベースを調べたところ、それASN1_seq_pack_X509
はマクロであることがわかりました。深くネストされたマクロを追跡した後、上記の呼び出しが最終的に次のようになることを発見しました。
OpenSSL 1.1.0ASN1_seq_pack
にはもう存在しません。だからここに私の質問があります。STACK_OF(X509)
からにどのように変換する必要がありDER
ますか?
ssl - PEM および DER 証明書との混同
サードパーティのフレームワークと SSL を使用する iOS アプリを開発しています。
サーバーに接続するには、サーバー証明書、クライアント証明書、およびパスフレーズを渡す必要があります。
それで、私は彼らのサポートに接続するための証明書を要求し、彼らは私にzipファイルを送ってくれました(私はMacを使用しています):
- chain_2016.pem (mac は「ルート」として識別)
- パスフレーズ
- yourCertificate.pem (「標準」)
- yourCertificate.p12 (「個人」)
パスフレーズ ファイルには 2 つの文字列が含まれています。p12 ファイルのパスフレーズと、その目的がわからない 32 文字の長さの文字列です。次のようになります: 53CFE0E1914EF853E148F29C0A56B716
p12 ファイルとパスフレーズが正しいことはわかっていますが、混乱しているのは、DER でエンコードされた証明書が 1 つしか必要ない 2 つの PEM ファイルです。を使用して各PEMをDERに変換しようとしましたが、うまくいき
openssl x509 -in ...
ませんでした...
chain_2016
との両方の内容を印刷して、それに加えて 2 つの追加の証明書が含まれyourCertificate.pem
ていることに気付きました。yourCertificate.pem
chain_2016
chain_2016.pem
あなたの証明書.pem
SSL を扱うのはこれが初めてなので、誰かが私を助けてくれることを願っています。ありがとう !
更新:
私が言ったように、ペドロフに感謝します、私はすでに試しました:
を使用して各PEMをDERに変換しようとしましたが、うまくいき
openssl x509 -in ...
ませんでした...
このフレームワークを使用するには、2 つの手順があります。まず、サーバーへの接続を確立してから、アクションを実行します。変換された DER ファイルのいずれかを使用すると接続できますが、アクション (ログインなど) を実行しようとすると、「このアクションは許可されていません」というメッセージが表示されます。これは、証明書に問題がなく、SSL とは関係のない別の場所からエラーが発生したことを意味しますか?
java - Java での DER デコード ECDSA 署名
Java で ECDSA 署名を生成しました。そこから R 値と S 値を取得したいと考えています。私が生成した署名は DER でエンコードされていると理解しています。R と S の値を BigInteger として取得する Java コード (おそらく Bouncy Castle を使用) を提供してもらえますか?
注: 役立つ場合は、JCE の署名クラスを介して組み込みプロバイダーを使用して署名を生成しました。P_256 EC キー ペアの署名の長さは、通常 70 から 72 バイトの間です。
ssl-certificate - X.509 RFC 5280 で構造記述の [0]、[1]、... とは何を意味しますか?
RFC 5280 ( https://www.rfc-editor.org/rfc/rfc5280 ) を勉強していて、TBSCertificate 構造定義に奇妙なマーク ([0]、[1]、[2]、[3]) があることに気付きました
ASN.1 では、特殊バイト 0xA0、0xA1、0xA2、0xA3 を使用してコーディングします。これらのバイトエンコーディングに関する説明が見つかりません。誰かが私を説明できますか?
java - 証明書文字列をバイト配列に変換する
PEM 証明書を表す文字列を取得しました。
上記の文字列を String variable に代入しString myCertStr
ました。
myCertStr
DER でエンコードされた byte[]に変換する適切な方法は何ですか?
(私はJava 7を使用していますが、これにサードパーティのライブラリを使用することに興味はありません.JDK7の方法を探しています.)
android - 私の場合、X509証明書をプログラムでインストールします
私はAndroidプロジェクトを開発しています。PEM 証明書文字列があります。
(上記の証明書文字列を という名前の変数に割り当てましたCERT_STR
)
上記の PEM 文字列を次の方法で X509Certificate に変換します。
次に、次の方法で証明書をプログラムでインストールしようとします。
アプリを実行すると、"Extracting..." というシステム ダイアログがポップアップ表示されます。システムが証明書を抽出していることはわかっていますが、そのダイアログは常に"Extracting..." というメッセージが表示されます。
なんで?証明書をインストールするコードのどこが間違っていますか?