DERバイナリ (.der)

ITU-T 標準

Distinguished Encoding Rules (DER) は、ASN.1データ構造のための厳格で標準的なバイナリエンコーディング規格であり、セキュリティ証明書や暗号鍵の曖昧性のないビット単位で正確な表現を提供します。

DER を PEM に変換

無料のブラウザ内 DER から PEM へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで DER ファイルを識別します:

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで DER ファイルを識別します:

16進数シグネチャ (オフセット 0):

30 82

ASCII表現: 0\x82

標準化: ITU-T Recommendation X.690

技術仕様

コンテナアーキテクチャStrict canonical binary encoding of ASN.1 structures using Tag-Length-Value (TLV) triples
圧縮Uncompressed binary data
バイトエンディアンBig-Endian ASN.1 encoding
色空間N/A (Cryptographic Binary Stream)
チャンネルと構造Cryptographic keys, X.509 certificates, CRLs, and PKCS structures
最大寸法Unbounded ASN.1 length
透過性Binary ASN.1 data structure
ストリーミングとプログレッシブDeterministic single-pass canonical decoding

技術比較マトリックス: DER 対 競合製品

技術属性DER (現在)PEMCRTP12
データ表現厳格なバイナリ ASN.1 エンコーディングBase64 ASCIIアーマードテキストBase64 PEM またはバイナリ DER暗号化されたバイナリ PKCS #12 アーカイブ
決定論的ハッシュ100% カンニカルなビットストリーム空白/バナーに依存フォーマットに依存ソルト/IVで暗号化
ファイルサイズ最小(PEMより約33%小さい)Base64のためより大きい (+33%)Base64のためより大きい (+33%)暗号化ラッパーのためより大きい
Javaおよびハードウェアのサポートネイティブ標準Javaでの変換が必要Javaでの変換が必要キーストアとしてサポート

一般的な破損モードと16進数リカバリガイド

OpenSSLエラー: 'asn1 encoding routines:ASN1_get_object:header too long'。

根本原因: ASN.1シーケンスヘッダー内の破損したTag-Length-Value (TLV) バイト。

復旧: File2File証明書ツールを使用してトランスコードし、有効なDERカンニカルバイトを再構築します。

セキュリティ分析とパーサー攻撃ベクトル

DERデコーダーは、整数アンダーフロー/オーバーフローがネイティブ暗号ライブラリでバッファオーバーフローを引き起こす可能性のある長さを記述するフィールドを解析します。

既知の攻撃ベクター

  • 深くネストされたASN.1の不定長デコード中の整数オーバーフロー。
  • 不正なビット文字列の解析時の範囲外読み取り。
  • ネストされたASN.1再帰ボムによるサービス拒否(DoS)。

防御的ベストプラクティス:

歴史的背景とマイルストーン

2021ITU-T X.690の改訂により、最新のハードウェアトークンにおけるASN.1 DER仕様が安定化。
1997バイナリ鍵エンコーディング(X509EncodedKeySpec)のため、Java Cryptography Architecture (JCA) に採用。
1988Basic Encoding Rules (BER) の厳格なサブセットとして、CCITT / ITU-T勧告 X.690の下で標準化。

主な利点とメリット

  • 標準的かつ決定的:同一データが常に全く同じバイナリハッシュを生成することを保証し、デジタル署名に不可欠です。
  • PEMよりもコンパクト:Base64エンコーディングとASCIIバナーを省略することで、約33%のオーバーヘッドを削減します。
  • ハードウェアセキュリティモジュール (HSM)、スマートカード、Javaキーストアのネイティブフォーマット。

技術的な制限とデメリット

  • バイナリフォーマットのため、テキストエディタでの閲覧、編集、コピー&ペーストができません。
  • テキストベースのPEM/CRTファイルを圧倒的に好むWebホスティング環境ではあまり一般的ではありません。
  • 厳格なエンコーディング規則のため、わずかなパディングの不一致でもパースが拒否されます。

興味深い技術トリビア

  • DERはBER(Basic Encoding Rules)の厳格なサブセットです。BERでは値をエンコードする複数の有効な方法が許可されますが、DERでは正確に1つの標準的な方法のみが許可されます。
  • DERファイルをBase64エンコードし、「-----BEGIN CERTIFICATE-----」で囲むと、標準的なPEMファイルになります。
  • JavaのKeyFactoryでは、RSA公開鍵と秘密鍵を生のDERフォーマットで提供する必要があります。

よくある技術的な質問

DER と PEM の違いは何ですか?

DER は、証明書またはキーの生バイナリ形式です。PEM は、単に同じ DER ファイルを読み取り可能な Base64 テキストに変換し、「-----BEGIN...-----」のバナーを付けたものです。

DER を PEM に変換するにはどうすればよいですか?

.der ファイルを File2File.app にアップロードすると、ブラウザ上で直接1秒で標準の .pem テキスト証明書に変換できます。

Java が DER キーを使用するのはなぜですか?

Java 暗号化アーキテクチャ(JCA)は、ネイティブのキー仕様に DER エンコードされた PKCS#8 および X.509 バイト配列を使用するためです。