自己署名証明書(オレオレ証明書)を使ってHTTPSサーバーをNode.jsで立ち上げる(windows10) その2

前回の記事
自己署名証明書(オレオレ証明書)を使ってHTTPSサーバーをNode.jsで立ち上げる(windows10) その1 (attacktube.com)

HTTPSサーバーを立ち上げる。
前回作ったコードをより細かくする。
HTTPSサーバーを立ち上げるコード「https.js」を次に示す。
現地時間を取得するために自作モジュールLocalTime.jsを使用している。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpクライアント(POSTリクエスト)その2

httpクライアント(POSTリクエスト)とは、Node.jsでサーバーのURLにPOSTリクエストを送る。
ブラウザでサーバーにアクセスする場合はPOSTリクエストをサーバーに送っている。
このPOSTリクエストをNode.jsで行う。
このPOSTリクエストを送信するときにデータをchunk分割してサーバーに送信する。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpクライアント(POSTリクエスト)その1

httpクライアント(POSTリクエスト)とは、Node.jsでサーバーのURLにPOSTリクエストを送る。
ブラウザでサーバーにアクセスする場合はPOSTリクエストをサーバーに送っている。
このPOSTリクエストをNode.jsで行う。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpクライアント(GETリクエスト)

httpクライアント(GETリクエスト)とは、Node.jsでサーバーのURLにGETリクエストを送る。
ブラウザでサーバーにアクセスする場合はGETリクエストをサーバーに送っている。
このGETリクエストをNode.jsで行う。

HTTP通信において、GETリクエストのデータをchunk分割して送信するという概念自体はありえる。
しかし、通常の使用ではGETリクエストにはリクエストボディが含まれないため、チャンク分割は必要ない。
Internet ExplorerのURLの最大長は2083文字なので、だいたい、この2083文字の中に収まるクエリ文字列の長さだと正常に動くはず。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【Node.js】httpサーバーを立ち上げる

Node.jsでhttpサーバーを立ち上げる。

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0

続きを読む

【C言語】int型の範囲の整数

C言語のint型は32ビット(4バイト)の符号付き整数を表現するために使用される。符号を考慮すると、int型は-2,147,483,648から2,147,483,647までの範囲の整数を表現できる
2,147,483,647 = 21億4748万3647
-2,147,483,648 = 21億4748万3647
2進数「00000000000000000000000000000000」(32桁)は10進数「0」である。
2進数「00000000000000000000000000000001」(32桁)は10進数「1」である。
~中略~
2進数「01111111111111111111111111111111」(32桁)は10進数「2,147,483,647」である。
2進数「10000000000000000000000000000000」(32桁)は10進数「-2,147,483,648」である。
2進数「10000000000000000000000000000001」(32桁)は10進数「-2,147,483,647」である。
2進数「10000000000000000000000000000002」(32桁)は10進数「-2,147,483,646」である。
~中略~
2進数「11111111111111111111111111111101」(32桁)は10進数「-3」である。
2進数「11111111111111111111111111111110」(32桁)は10進数「-2」である。
2進数「11111111111111111111111111111111」(32桁)は10進数「-1」である。

それと、int型は実装依存だからコンパイラでint型で表現できる数値が違う。
「Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland」ではint型は-2,147,483,648から2,147,483,647までの範囲の整数を表現している。

続きを読む

サーバー証明書の中身を見る(windows10)

任天堂ホームページ (nintendo.co.jp) ExternalLinkのサーバー証明書の中身を見てみる。
windows10において、Git Bash上でコマンドを実行してサーバー証明書の中身を見た。
使用したGit Bashのバージョンは「git version 2.40.0.windows.1」である。

RFC3280では、電子証明書はX.509ver3の形式が用いられると書いてある。
任天堂のX.509はVersion: 3 (0x2)となっているな。
X509v3 CRL Distribution Points(CRLの配布ポイント)が設定されている。
X509v3 CRL Distribution Points(CRLの配布ポイント)はX.509証明書の拡張フィールドの1つである。
X509v3 CRL Distribution Points拡張フィールドは、CRLがどこで入手可能かを示すために使用される。このフィールドには、CRLのダウンロードに使用するURLやファイルパスなどの情報が含まれる。

続きを読む

【C言語】ユークリッドの互除法(基本情報技術者試験 平成31年度 春 午前 問7)

C言語でユークリッドの互除法で最大公約数を求めるプログラムを作る。
ユークリッドの互除法は英語では「Euclidean algorithm」と表記される。
最大公約数は英語では「G.C.D(Greatest Common Divisor)」あるいは、「G.C.M (Greatest Common Measure)」である。

環境
windows10(64bit)
Borland C++ 5.5.1 for Win32

次のコードをEuclidean.cとする。

続きを読む