概要

抽象構文記法 1 (ASN.1) は、データ通信で使用するプロトコルを定義するために標準委員会などの機関によって広範に使用されている記法です。プログラミング言語に似ていますが、主にデータ構造を定義するための機能で構成されています。さまざまなデータ型、およびそれらの基本型から複雑なデータ構造を構築するための構文があります。ASN.1 で記述されたプロトコル仕様は、一見 COBOL プログラムのデータ部に似ていますが、実際の言語構文はむしろ C に似ています。

ASN.1 の実例を見る機会はまずありません。ASN.1 はプロトコルを定義するためのものであり、プロトコル自体もユーザーが直接目にする機会が少ないためです。しかし ASN.1 は非常に広く使用されており、航空管制システムから洗濯機に至るまで、日常的に使用される多くの電子機器が、ASN.1 を使用して設計されたデータ伝送プロトコルを使用しています。

ここで説明している、SSL で使用する規格の多くも ASN.1 で設計されています。そのため、SSL に関する文書に ASN.1 の用語が登場する場合があります。これは特に OpenSSL のマニュアルに当てはまります。エンド ユーザーや COBOL 開発者がこれらの概念を直接学ぶことはまずありませんが、ここでその一部を知っておくと、OpenSSL のドキュメントがよりわかりやすくなります。