DERバイナリ (.der)
ITU-T 標準Distinguished Encoding Rules (DER) は、ASN.1データ構造のための厳格で標準的なバイナリエンコーディング規格であり、セキュリティ証明書や暗号鍵の曖昧性のないビット単位で正確な表現を提供します。
DER を PEM に変換
無料のブラウザ内 DER から PEM へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで DER ファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで DER ファイルを識別します:
16進数シグネチャ (オフセット 0):
30 82ASCII表現: 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 (現在) | PEM | CRT | P12 |
|---|---|---|---|---|
| データ表現 | 厳格なバイナリ 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)。
防御的ベストプラクティス:
歴史的背景とマイルストーン
主な利点とメリット
- 標準的かつ決定的:同一データが常に全く同じバイナリハッシュを生成することを保証し、デジタル署名に不可欠です。
- 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 バイト配列を使用するためです。