2021-02-01から1ヶ月間の記事一覧
C言語にて ソケット関数と openssl ライブラリを使って HTTPSサーバを作成する の続きです 証明書チェーン 証明書チェーンとは、サーバの認証に使用される証明書のリストです。 このチェーンは、サーバ証明書から始まり、 サーバ証明書を署名した中間局の証…
ウェブブラウザでオレオレ証明書のサイトを閲覧する の続きです オレオレ認証局 オレオレ認証局とは、開発用途で作成する私設の認証局である。 下記を参照のこと openssl コマンドを使って オレオレ認証局を作成してサーバ証明書を発行する https://ken-ohwa…
openssl コマンドを使って オレオレ認証局を作成してサーバ証明書を発行する の続きです SAN 「SAN」とは、「Subject Alternative Name」の略称で、「サブジェクトの別名」という意味です。 Chrome 58 以降では、ドメイン名とサイト証明書を照合するために c…
openssl コマンドを使って オレオレ証明書を作成する の続きです 認証局 認証局 (CA:Certification Authority)とは、デジタル証明書を発行する機関である。 wikipedia 認証局 https://ja.wikipedia.org/wiki/%E8%AA%8D%E8%A8%BC%E5%B1%80 証明書の発行は有…
ソケット関数と openssl ライブラリを使って HTTPS クライアントを作成する の続きです。 サーバ証明書の検証 サーバー証明書とは、「通信の暗号化」「Webサイトの運営者・運営組織の実在証明」の2つの役割をもつ電子証明書です。 認証局が発行します。 参考…
C言語にて ソケット関数を使って HTTP クライアントを作成する の続きです。 openssl OpenSSLは、SSLプロトコルのソフトウェアである。 C言語のライブラリも備えている。 OpenSSL https://www.openssl.org/ 下記を参照ください。 MAC に openssl をインスト…
C言語にて ソケット関数を使って TCP クライアントを作成する の続きです HTTP クライアント HTTP クライアントとは、 ウェブサーバ(HTTPサーバ) に対して、HTTPプロトコルに則り、 データの送受信を行うプログラムのこと。 この記事で作成するのは、簡単な…
C言語にて ソケット関数を使って エコーサーバを作成する の続きです。 TCP クライアント ソケット関数は、コネクション型の TCP (Transmission Control Protocol) と 非コネクション型の UDP (User Datagram Protocol) をサポートしている。 この記事では、…
DNS 名前解決 ホスト名からIPアドレスを取得するには、 DNSサーバーによる名前解決 (Name Resolution) を利用する。 ホスト名からIPアドレスを取得することを DNS正引き( Forward DNS Lookup)、 IPアドレスからホスト名を取得することを DNS逆引き( Reverse …
C言語にて ソケット関数を使って ウエブサーバを作成する の続きです openssl OpenSSLは、SSLプロトコルのソフトウェアである。 C言語のライブラリも備えている。 OpenSSL https://www.openssl.org/ 下記を参照ください。 MAC に openssl をインストールして…
オレオレ証明書 公開鍵をそれに対応する私有鍵で署名した 自己署名証明書(self-sigened certificate)のこと。 自己署名なので信頼できない。 ウェブブラウザではその旨の警告が表示される。 ubuntuでインストールされるウエブサーバーもこの形式の証明書を使…
openssl OpenSSLは、SSLプロトコルのソフトウェアである。 OpenSSL https://www.openssl.org/ オレオレ証明書 公開鍵をそれに対応する私有鍵で署名した 自己署名証明書(self-sigened certificate)のこと。 wikipedia: 自己署名証明書 https://ja.wikipedia.o…
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言語にて ソケット関数を使って エコーサーバを作成する の続きです ウエブサーバ ウエブサーバ(Web Server)は、HTTPプロトコルに則り、 ウェブブラウザなどのクラアントに対して HTML を返送するプログラム及びコンピュータである。 この記事で作成するの…
ソケット関数 ソケット(Socket) とはプロセス間通信のためのインターフェースです。 コンピュータ間通信にも使用される。 ソケットに関するシステムコールとC言語プログラミング http://itref.fc2web.com/unix/socket.html ソケット関数とはソケットを扱うC…
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言語にて 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…
libiconv libiconv は、文字列の文字コードを変換するC言語のライブラリです。 gnu libiconv https://www.gnu.org/software/libiconv/ MAC では brew コマンドでインストールできる。 https://formulae.brew.sh/formula/libiconv ISO-2022-JP 日本語メールで…