Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2026/10/28 08:22:15.034 (台灣標準時)

HTTPS サーバーで使う秘密鍵と公開鍵の生成方法について

HTTPS サーバーで使うための秘密鍵と公開鍵を生成する方法について記録して おくでござる。

まず、パスワードを書き込んだファイルを準備するでござる。


# cd /usr/pkg/etc/httpd
# vi password.txt
# chmod 600 password.txt

秘密鍵を生成するでござる。鍵の安全なやり取りのためには楕円曲線暗号を使 うでござる。データの通信で使う共通鍵暗号には aes256 を指定するでござる。


# openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -aes256 -out server.key -pass file:password.txt
# ls -l server.key 
-rw-------  1 root  wheel  412 Oct 22 14:19 server.key

server.key というファイルができたでござる。この server.key ファイルを 使って、証明書署名要求ファイル server.csr を作るでござる。


# openssl req -new -key server.key -out server.csr
Can't open "/etc/openssl/openssl.cnf" for reading, No such file or directory
FFFFFFFFFFFFFFFF:error:80000002:system library:BIO_new_file:No such file or directory:/usr/src/crypto/external/apache2/openssl/dist/crypto/bio/bss_file.c:67:calling fopen(/etc/openssl/openssl.cnf, r)
FFFFFFFFFFFFFFFF:error:10000080:BIO routines:BIO_new_file:no such file:/usr/src/crypto/external/apache2/openssl/dist/crypto/bio/bss_file.c:75:

openssl の設定ファイルがないと怒られてしまったので、設定ファイルをコピー するでござる。


# cp -pi /usr/pkg/share/examples/openssl/openssl.cnf /etc/openssl/

証明書署名要求ファイル server.csr を作るでござる。


# openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:ZZ
State or Province Name (full name) [Some-State]:Abcdefgh
Locality Name (eg, city) []:Xyz
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyName
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:MyName
Email Address []:myaccount@abc.xyz

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
# ls -l server.*
-rw-r--r--  1 root  wheel  493 Oct 22 14:29 server.csr
-rw-------  1 root  wheel  412 Oct 22 14:19 server.key

証明書署名要求ファイル server.csr に自己署名して証明書ファイル server.crt を作成するでござる。


# openssl x509 -req -days 7300 -in server.csr -signkey server.key -out server.crt
Enter pass phrase for server.key:
Certificate request self-signature ok
subject=C=ZZ, ST=Abcdefgh, L=Xyz, O=MyName, CN=MyName, emailAddress=myaccount@gabc.xyz
# ls -l server.*
-rw-r--r--  1 root  wheel  782 Oct 22 14:32 server.crt
-rw-r--r--  1 root  wheel  493 Oct 22 14:29 server.csr
-rw-------  1 root  wheel  412 Oct 22 14:19 server.key

これで、必要なファイルが作られたでござる。



Frequently accessed files

  1. Computer___Network/20260127_00.html
  2. Misc___Taiwan/20240207_00.html
  3. Computer___NetBSD/20250301_01.html
  4. Misc___Taiwan/20240819_00.html
  5. Book___Chinese/20240424_00.html
  6. Computer___TeX/20231107_00.html
  7. Computer___TeX/20240414_01.html
  8. Misc___Japan/20240718_00.html
  9. Misc___Japan/20240610_00.html
  10. Computer___TeX/20240411_00.html
  11. Misc___Taiwan/20240903_01.html
  12. Computer___TeX/20230726_01.html
  13. Computer___Network/20241214_00.html
  14. Computer___Python/20230803_00.html
  15. Computer___Network/20230516_00.html
  16. Computer___NetBSD/20230119_00.html
  17. Computer___NetBSD/20250113_00.html
  18. Computer___FreeBSD/20220621_0.html
  19. Computer___TeX/20240414_00.html
  20. Computer___NetBSD/20250307_00.html
  21. Computer___Network/20240130_00.html
  22. Computer___TeX/20240410_00.html
  23. Computer___Python/20250330_00.html
  24. Computer___NetBSD/20220818_1.html
  25. Computer___NetBSD/20240805_03.html
  26. Computer___TeX/20230503_00.html
  27. Computer___Network/20220413_1.html
  28. Computer___Python/20240101_00.html
  29. Computer___NetBSD/20240101_03.html
  30. Computer___Hardware/20240820_00.html


HTML file generated by Kinoshita Daisuke.