2021-02-01から1ヶ月間の記事一覧

C言語にて opensslライブラリを使って 証明書チェーンを備えたHTTPS サーバを作成する

C言語にて ソケット関数と openssl ライブラリを使って HTTPSサーバを作成する の続きです 証明書チェーン 証明書チェーンとは、サーバの認証に使用される証明書のリストです。 このチェーンは、サーバ証明書から始まり、 サーバ証明書を署名した中間局の証…

ウェブブラウザでオレオレ認証局で作成したサーバ証明書のサイトを閲覧する

ウェブブラウザでオレオレ証明書のサイトを閲覧する の続きです オレオレ認証局 オレオレ認証局とは、開発用途で作成する私設の認証局である。 下記を参照のこと openssl コマンドを使って オレオレ認証局を作成してサーバ証明書を発行する https://ken-ohwa…

openssl コマンドを使って SANを設定したサーバ証明書を発行する

openssl コマンドを使って オレオレ認証局を作成してサーバ証明書を発行する の続きです SAN 「SAN」とは、「Subject Alternative Name」の略称で、「サブジェクトの別名」という意味です。 Chrome 58 以降では、ドメイン名とサイト証明書を照合するために c…

openssl コマンドを使って オレオレ認証局を作成してサーバ証明書を発行する

openssl コマンドを使って オレオレ証明書を作成する の続きです 認証局 認証局 (CA:Certification Authority)とは、デジタル証明書を発行する機関である。 wikipedia 認証局 https://ja.wikipedia.org/wiki/%E8%AA%8D%E8%A8%BC%E5%B1%80 証明書の発行は有…

C言語にて openssl ライブラリを使って HTTPS クライアントが HTTPS サーバに接続したときに サーバ証明書を検証する

ソケット関数と openssl ライブラリを使って HTTPS クライアントを作成する の続きです。 サーバ証明書の検証 サーバー証明書とは、「通信の暗号化」「Webサイトの運営者・運営組織の実在証明」の2つの役割をもつ電子証明書です。 認証局が発行します。 参考…

C言語にて ソケット関数と openssl ライブラリを使って HTTPS クライアントを作成する

C言語にて ソケット関数を使って HTTP クライアントを作成する の続きです。 openssl OpenSSLは、SSLプロトコルのソフトウェアである。 C言語のライブラリも備えている。 OpenSSL https://www.openssl.org/ 下記を参照ください。 MAC に openssl をインスト…

C言語にて ソケット関数を使って HTTP クライアントを作成する

C言語にて ソケット関数を使って TCP クライアントを作成する の続きです HTTP クライアント HTTP クライアントとは、 ウェブサーバ(HTTPサーバ) に対して、HTTPプロトコルに則り、 データの送受信を行うプログラムのこと。 この記事で作成するのは、簡単な…

C言語にて ソケット関数を使って TCP クライアントを作成する

C言語にて ソケット関数を使って エコーサーバを作成する の続きです。 TCP クライアント ソケット関数は、コネクション型の TCP (Transmission Control Protocol) と 非コネクション型の UDP (User Datagram Protocol) をサポートしている。 この記事では、…

C言語にて ホスト名からIPアドレスを取得する

DNS 名前解決 ホスト名からIPアドレスを取得するには、 DNSサーバーによる名前解決 (Name Resolution) を利用する。 ホスト名からIPアドレスを取得することを DNS正引き( Forward DNS Lookup)、 IPアドレスからホスト名を取得することを DNS逆引き( Reverse …

C言語にて ソケット関数と openssl ライブラリを使って HTTPSサーバを作成する

C言語にて ソケット関数を使って ウエブサーバを作成する の続きです openssl OpenSSLは、SSLプロトコルのソフトウェアである。 C言語のライブラリも備えている。 OpenSSL https://www.openssl.org/ 下記を参照ください。 MAC に openssl をインストールして…

ウェブブラウザでオレオレ証明書のサイトを閲覧する

オレオレ証明書 公開鍵をそれに対応する私有鍵で署名した 自己署名証明書(self-sigened certificate)のこと。 自己署名なので信頼できない。 ウェブブラウザではその旨の警告が表示される。 ubuntuでインストールされるウエブサーバーもこの形式の証明書を使…

openssl コマンドを使って オレオレ証明書を作成する

openssl OpenSSLは、SSLプロトコルのソフトウェアである。 OpenSSL https://www.openssl.org/ オレオレ証明書 公開鍵をそれに対応する私有鍵で署名した 自己署名証明書(self-sigened certificate)のこと。 wikipedia: 自己署名証明書 https://ja.wikipedia.o…

MAC にて openssl をインストールして開発環境を作る

openssl OpenSSLは、SSLプロトコルのソフトウェアである。 OpenSSL https://www.openssl.org/ C言語のライブラリも提供されている。 ssl-OpenSSL SSL / TLSライブラリ https://www.openssl.org/docs/manmaster/man7/ssl.html OpenSSL libraries https://www.…

C言語にて ソケット関数を使って ウエブサーバを作成する

C言語にて ソケット関数を使って エコーサーバを作成する の続きです ウエブサーバ ウエブサーバ(Web Server)は、HTTPプロトコルに則り、 ウェブブラウザなどのクラアントに対して HTML を返送するプログラム及びコンピュータである。 この記事で作成するの…

C言語にて ソケット関数を使って エコーサーバを作成する

ソケット関数 ソケット(Socket) とはプロセス間通信のためのインターフェースです。 コンピュータ間通信にも使用される。 ソケットに関するシステムコールとC言語プログラミング http://itref.fc2web.com/unix/socket.html ソケット関数とはソケットを扱うC…

C言語にて ISO-2022-JP のファイルを書き出す

C言語にて libiconv を使って ISO-2022-JP と UTF-8 を変換する の続きです。 ISO-2022-JP のファイルを書き出す UTF-8 のファイルを1行ごとに読み込み、 ISO-2022-JP に変換して、 のファイルに書き出す。 FILE *fp; fp = fopen( "utf8.txt", "r"); FILE *…

C言語にて ISO-2022-JP のファイルを読み込む

C言語にて libiconv を使って ISO-2022-JP と UTF-8 を変換する の続きです。 ISO-2022-JP のファイルを読み込む ISO-2022-JP のファイルを1行ごとに読み込み、 UTF-8 に変換して表示する。 FILE *fp; fp = fopen( "iso2022jp.txt", "r"); const size_t LIN…

C言語にて、libiconv を使って ISO-2022-JP から UTF-8 に変換する

libiconv libiconv は、文字列の文字コードを変換するC言語のライブラリです。 gnu libiconv https://www.gnu.org/software/libiconv/ MAC では brew コマンドでインストールできる。 https://formulae.brew.sh/formula/libiconv ISO-2022-JP 日本語メールで…