CRT証明書からPEM証明書へのコンバーター
バイナリ形式のCRTセキュリティ証明書をBase64エンコードのPEMテキスト形式に変換し、Apache、Nginx、および最新のLinuxウェブサーバーと互換性を持たせます。
フォーマットの比較と技術仕様
| 仕様 | CRT | PEM |
|---|---|---|
| MIMEタイプ | application/x-x509-ca-cert | application/x-pem-file |
| タイプ | X.509 public certificate | Base64 ASCII certificate container |
| 圧縮 | none | none (Base64 armored) |
| 標準仕様 | ITU-T X.509 / RFC 5280 | IETF RFC 7468 |
| マジックバイトヘッダー | 30 82 (DER SEQUENCE) or -----BEGIN CERTIFICATE----- (PEM text) | 2D 2D 2D 2D 2D 42 45 47 49 4E (-----BEGIN CERTIFICATE / RSA PRIVATE KEY) |
フォーマットの概要と用途
セキュリティ証明書は、ウェブブラウザとサーバー間で送信されるデータを保護します。CRTファイルには、DERと呼ばれるバイナリ形式が使用されることや、プレーンテキストファイルである場合があります。多くのLinuxウェブサーバー、ロードバランサー、およびメールクライアントでは、セキュリティ証明書にPEM形式の使用が求められます。PEMファイルは標準的なテキスト文字を使用し、特定の境界タグ内にセキュリティデータを格納します。 システム管理者は、Windows環境からLinuxシステムへセキュリティ証明書を移行する際に、この形式の要件に頻繁に直面します。ApacheおよびNginxウェブサーバーは、公開鍵と秘密鍵がPEMテキストファイルに存在することを想定しています。CRT証明書を変換することにより、SSLハンドシェイク中にサーバーソフトウェアが暗号データを正しく読み取れるようになります。
技術仕様とコーデックの内訳
CRTファイルはMIMEタイプapplication/x-x509-ca-certを使用します。DER形式で保存されている場合は生バイナリデータを含み、特定の認証局からエクスポートされた場合はテキストを含みます。PEM形式はMIMEタイプapplication/x-pem-fileを使用します。PEMはPrivacy Enhanced Mailの略であり、暗号鍵を保存するためのコンテナ形式として機能します。どちらの形式も圧縮を使用しないため、変換によってファイル品質が低下することはありません。バイナリCRTファイルには読み取り可能なテキストが含まれていませんが、PEMファイルには -----BEGIN CERTIFICATE----- などの読み取り可能なヘッダーがあり、その後にBase64 ASCII文字と終了タグ -----END CERTIFICATE----- が続きます。変換により、基盤となる公開鍵の数値を変更することなく、生バイトが読み取り可能なASCIIテキストに単純に翻訳されます。
OSとブラウザの互換性
PEMおよびCRT形式は、Windows、macOS、およびUbuntuやCentOSなどの主要なLinuxディストリビューションを含むすべての主要なオペレーティングシステムで完全にサポートされています。Chrome、Firefox、Safari、Edgeなどのウェブブラウザは、安全なHTTPS接続中に両方の形式をネイティブで処理します。OpenSSL、Apache、Nginx、Java keytoolなどのサーバーアプリケーションはPEMテキストをネイティブで受け入れますが、Windows Serverツールは多くの場合CRTまたはPFXコンテナを好みます。
💡 役立つ情報
本番ウェブサーバーを再起動する前に、OpenSSLコマンドを使用して、新しく変換されたPEM証明書に秘密鍵が一致していることを常に確認してください。
フォーマットの比較と技術仕様
証明書ファイルは非常に小さく、通常は1キロバイトから4キロバイトの大きさです。変換されたPEM証明書ファイルの転送は、4G、5G、および光ファイバーネットワーク経由で1ミリ秒未満で完了します。
よくある質問
品質を落とさずにCRT証明書をPEM証明書に変換するにはどうすればよいですか?
変換は完全にロスレスです。セキュリティ証明書は正確な数学的鍵に依存しているため、ファイルコンテナをバイナリCRTからASCII PEMに変更しても、バイトの表現方法が変わるだけで、暗号データはそのまま保持されます。
CRT証明書とPEM証明書の違いは何ですか?
CRT証明書はバイナリエンコーディングを使用することが多く、テキストエディタでは読み取れません。PEM証明書は、同じセキュリティデータをBase64 ASCIIテキストでラップし、ウェブサーバーが簡単に読み取れるように明確な境界ラベルを追加します。