Posted at: 2018-05-04 07:50:41  Category: tech


環境はUbuntu 16.04.4 LTSです。
openssl.cnf を編集します。今回CSRを作る用に使用するコンフィグファイルを元コンフィグからコピーします。
$ cp /etc/ssl/openssl.cnf ./openssl.cnf
編集箇所ですが、追加したいドメインを記載した次の行をv3_reqセクションに追加するだけです。
[ v3_req ]

subjectAltName = DNS:example.com, DNS:*.example.com, DNS:example.net
あとは、編集したconfigを指定してopenssl reqコマンドをたたけばCSRが作れます。
$ openssl req -config ./openssl.cnf -new

なお、reqセクションの下記行がコメントアウトされてしまっている場合は、コメントを外してください。
req_extensions = v3_req

以上です。
Posted at: 2018-05-01 06:13:44  Category: tech


プロキシサーバーに接続できなかった場合には、直接接続する事を目的としてproxy.pacに
以下のように書いていました。
function FindProxyForURL(url,host)

{
return "PROXY proxy:8080; DIRECT";
}

しかし、特定のブラウザ(Chrome)でうまくウェブサイトに接続できない状態になってしまいました。
完全に接続できないかというと、そうでもなく稀にとても時間が掛かって接続できるような状態。

wiresharkで見てみると、proxyサーバへのアクセスと同時かわかりませんが、直接接続を
即時に試みてしまっている状態となっている事がわかりました。

DIRECTの記述を削除すると想定した通りプロキシ経由でアクセスされるようになりました。
Posted at: 2018-05-01 05:47:16  Category: tech


プロキシサーバーを一新してます。
Nginxでproxy.pacを配布するにあたりはまったことをメモ。

使用している Nginx のバージョンでは、proxy.pac の mime が適切に扱われず、
結果として、クライアント側でproxy.pacの内容を正しく使ってくれなかったようでした。
$ nginx -v 

nginx version: nginx/1.14.0 (Ubuntu)
次の一行を /etc/nginx/mime.types に追記する事で解決しました。
application/x-ns-proxy-autoconfig     pac;




タイトルの通りですが、以前書いたcrt.shというツールを用いて、
特定の認証局で発行された証明書の一覧を検索してみたいと思います。
怪しい証明書を発行していようものなら分かってしまいます。crt.shすごいですねー

私の環境でデフォルトでインストールされているルート証明書の中から、
適当な認証局を選びます。例えば、国内のルート認証局であるセコムにしてみます。
$ ls /usr/share/ca-certificates/mozilla/ | grep Security

Security_Communication_EV_RootCA1.crt
Security_Communication_RootCA2.crt
Security_Communication_Root_CA.crt
Security_Communication_RootCA2.crt
の中身はこんな感じ
$ cat Security_Communication_RootCA2.crt | openssl x509 -text -noout

Certificate:
Data:
Version: 3 (0x2)
Serial Number: 0 (0x0)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=JP, O=SECOM Trust Systems CO.,LTD., OU=Security Communication RootCA2
Validity
Not Before: May 29 05:00:39 2009 GMT
Not After : May 29 05:00:39 2029 GMT
Subject: C=JP, O=SECOM Trust Systems CO.,LTD., OU=Security Communication RootCA2
Subject Public Key Info:
以下略
IssuerとSubjectが同じ値になっていますので、ルート証明書であることがわかります。

こいつがルートとなっている(中間)証明書にはどんなものがあるのか検索してみます。
crt.shのトップページから、「Advanced」 のリンクを選択します。
すると以下の様な感じの画面になるので、「Select search Type」から 「organizationUnitName」を選択してOUの値で検索します。

以下の表のような結果が返るので上の行のIssuer Nameの列をクリックします。
crt.sh IDLogged At Not BeforeNot AfterIssuer Name
11768792015-08-202009-05-292029-05-29C=JP, O="SECOM Trust Systems CO.,LTD.", OU=Security Communication RootCA2
69869852015-08-202015-03-242023-09-29C=JP, O=SECOM Trust.net, OU=Security Communication RootCA1

すると、一番下の行のChild CAsに、Security Communication RootCA2をルートとする中間認証局の一覧が表示されます。
Child CAs
C=JP, L=Academe, O=National Institute of Informatics, CN=NII Open Domain CA - G4
C=JP, L=Academe, O=National Institute of Informatics, CN=NII Open Domain Code Signing CA - G2
C=JP, L=Academe, O=National Institute of Informatics, CN=NII Open Domain S/MIME CA
C=JP, O=CrossTrust, CN=CrossTrust DV CA3
C=JP, O=CrossTrust, CN=CrossTrust DV CA4
C=JP, O=CrossTrust, CN=CrossTrust OV CA3
C=JP, O=CrossTrust, CN=CrossTrust OV CA4
C=JP, O="FreeBit Co.,Ltd.", CN=YourNet SSL for business2
C=JP, O="FreeBit Co.,Ltd.", CN=YourNet SSL for domain2
C=JP, O=FUJIFILM, CN=FUJIFILM Fnet CA - C
C=JP, O=FUJIFILM, CN=FUJIFILM Fnet CA - S
C=JP, O=FUJIFILM, CN=FUJIFILM Fnet CA - S2
C=JP, O=Fuji Xerox, CN=Fuji Xerox Certification Authority - G2
C=JP, O=Fuji Xerox, CN=Fuji Xerox Product CA 2 - S
C=JP, O=Fuji Xerox, CN=Fuji Xerox Product CA - S
C=JP, O=Fuji Xerox, CN=Fuji Xerox Xnet CA - C
C=JP, O=Fuji Xerox, CN=Fuji Xerox Xnet CA - S
C=JP, O=Fuji Xerox, CN=Fuji Xerox Xnet CA - S2
C=JP, O=INTEC INC., CN=EINS/PKI Public Certification Authority V3
C=JP, O=INTEC INC., CN=EINS/PKI Public Certification Authority V3
C=JP, O=Japanese Government, OU=Ministry of Defense, CN=Certification Authority
C=JP, O="Japan Registry Services Co., Ltd.", CN=JPRS Domain Validation Authority - G1
C=JP, O="Japan Registry Services Co., Ltd.", CN=JPRS Domain Validation Authority - G2
C=JP, O="Japan Registry Services Co., Ltd.", CN=JPRS Organization Validation Authority - G1
C=JP, O="Japan Registry Services Co., Ltd.", CN=JPRS Organization Validation Authority - G2
C=JP, O=KDDI Web Communications Inc., CN=KDDI Web Communications Certification Authority
C=JP, O=KDDI Web Communications Inc., CN=KDDI Web Communications Certification Authority 2
C=JP, O=National Institute of Informatics, CN=NII Open Domain CA - G5
C=JP, O="Nijimo, Inc.", CN=FujiSSL Public Certification Authority - G1
C=JP, O="Nijimo, Inc.", CN=FujiSSL Public Certification Authority - G2
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SECOM Passport for Web EV 2.0 CA
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SECOM Passport for Web MH CA
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SECOM Passport for Web SR 3.0 CA
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SECOM Passport for Web SR 3.0 CA
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SECOM TimeStamping CA2
C=JP, O="SECOM Trust Systems CO.,LTD.", CN=SubordinateCA6
C=JP, O="SECOM Trust Systems CO.,LTD.", OU=SECOM Passport for Member 2.0 PUB, CN=SECOM Passport for Member PUB CA4
C=JP, O="SECOM Trust Systems CO.,LTD.", OU=SECOM Passport for Member 2.0 PUB, CN=SECOM Passport for Member PUB CA5
C=JP, O="SECOM Trust Systems CO.,LTD.", OU=SECOM Passport for Member 2.0 PUB, CN=SECOM Passport for Member PUB CA6
C=JP, O="SECOM Trust Systems CO.,LTD.", OU=SECOM Passport for Member 2.0 PUB, CN=SECOM Passport for Member PUB CA7
C=JP, O="SECOM Trust Systems CO.,LTD.", OU=SECOM Passport for Member 2.0 PUB, CN=SECOM Passport for Member PUB CA8
C=JP, O=Sumitomo Mitsui Banking Corporation, OU=SMBC Authority, CN=SMBC Certificate Authority CA2
C=JP, O=XiPS, CN=XiPS CA2

リスト中の気になる中間認証局を適当にクリックします。
ここでは、C=JP, O=National Institute of Informatics, CN=NII Open Domain CA - G5にします。

Issued Certificates の行にEnter search termという検索窓があるので、%.go.jpなど適当に検索をすると、
この中間認証局で発行された go.jp ドメインに対するすべての証明書を確認することができます。
Posted at: 2018-04-22 18:38:23  Category: tech


vimでCommon Lispといえば、slimvなわけですが、環境の移行に伴いvlimeを使ってみた。

slimvだとノーマルモードで、,Wすると一段式のネストを深くしたり、逆に,Sすると浅くできるんですが、vlimeでどうやるのかメモ。

結論をからいうと、kovisoft/pareditを入れる必要がある。
その旨、vlime-tutor.txtに書いてある。よく読んでなかった。
The Paredit plugin for Vim (https://github.com/kovisoft/paredit).