LoginSignup
0
5

More than 3 years have passed since last update.

OpenSSL ECDSA署名検証の仕組みおさらい

Last updated at Posted at 2019-04-02

はじめに

ECDSAでの自己認証局を作成したので、サーバー証明書、クライアント証明書を作成できるが、原理を学ぶため、まず基本の証明書の検証動作を確認する。

環境

前回作成した環境にて検証を実施
OpenSSL ECDSAでの自己認証局作成

検証内容

自己認証局の中間CAにて署名したメッセージを検証していく。
ルートCA証明書までの証明書チェーン全体を検証する

メッセージの作成と中間CAでの署名

中間CAの秘密鍵を使って署名を行う。

echo "123456" > test.txt
openssl dgst -sha256 -sign /etc/pki/AWS/private/icacert.key test.txt > signature.dat

中間CAの証明書を分析と公開鍵の抜き出し

openssl x509 -in /etc/pki/AWS/icacert.pem -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 2 (0x2)
    Signature Algorithm: ecdsa-with-SHA256
        Issuer: C=JP, ST=Tokyo, L=<任意>, O=<任意>, OU=<任意>, CN=<ルートCAのCN>
        Validity
            Not Before: ... 2019 GMT
            Not After : ... 2029 GMT
        Subject: C=JP, ST=Tokyo, O=<任意>, CN=<中間認証局のCN>
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:63:....




                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                .....
            X509v3 Authority Key Identifier:
                .....

            X509v3 Basic Constraints:
                CA:TRUE, pathlen:0
            X509v3 Key Usage:
                Digital Signature, Certificate Sign, CRL Sign
    Signature Algorithm: ecdsa-with-SHA256
         30:45:02:20:......

         02:21:......

-----BEGIN CERTIFICATE-----
MIIC....

.....eaNfjfO0
-----END CERTIFICATE-----

上記から中間CA証明書の公開鍵を抜き出す。

openssl x509 -in /etc/pki/AWS/icacert.pem -pubkey -noout
-----BEGIN PUBLIC KEY-----
MFkw...
       ....==
-----END PUBLIC KEY-----
openssl x509 -in /etc/pki/AWS/icacert.pem -pubkey -noout > icapub.pem

メッセージの中間CA公開鍵での検証

openssl dgst -sha256 -verify icapub.pem -signature signature.dat test.txt
Verified OK

検証OK

中間CA証明書のルートCA証明書での検証

openssl verify -CAfile /etc/pki/AWS/cacert.pem /etc/pki/AWS/icacert.pem
/etc/pki/AWS/icacert.pem: OK

組み込みでの証明書チェーンの完全な検証を行うためには中間CA証明書のルートCA証明書での検証のメカニズムも把握する必要がある。また後日。

0
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
5