2021-01-16 11:41 AM
一、始めに
OpenSSLライブラリを使用すると Private なCA(Certificate Authority)が簡単に構築できます。この Privateな OpenSSL CA を使用すると公的証明書発行機がなくてもセキュリティ製品の検証環境を容易に構築することができます。
OpenSSLより Private CA を構築する方法については多数のドキュメントが存在するため、ここでは省略します(参考文献[1]などを参照してください)。
本稿では Open SSL で構築した CA より発行した証明書をシスコルータにインポートする手順と Windows 10 にインポートする手順についての設定例を示します。
二、OpenSSL CA の証明書をシスコルータにインポートする
以下では ISR4451、IOS-XE 16.8.2 を例に Open SSL CA の証明書をルータにインポートします。
(1) まずはルータで RSA キーペア生成します。
R5(config)#crypto key generate rsa modulus 1024 label R5-KEY exportable R5(config)# The name for the keys will be: R5-KEY % The key modulus size is 1024 bits % Generating 1024 bit RSA keys, keys will be exportable... [OK] (elapsed time was 0 seconds) |
(2) Trustpoint を設定します。
R5(config)# crypto pki trustpoint OpenSSL-CA12 R5(ca-trustpoint)# enrollment terminal R5(ca-trustpoint)# subject-name CN="192.168.55.21" R5(ca-trustpoint)# rsakeypair R5-KEY <-- R5 が使用するキーを指定 |
(3) OpenSSL CA のルート証明書をルータにインポートします。
R5(config)#crypto pki authenticate OpenSSL-CA12
Enter the base 64 encoded CA certificate. End with a blank line or the word "quit" on a line by itself |
上記箇所にはOpenSSL CAのルート証明書をテキストエディターで開き、バイナリ出力をコピーペーストします。
例:
R5(ca-trustpoint)#crypto pki authenticate OpenSSL-CA12
Enter the base 64 encoded CA certificate. End with a blank line or the word "quit" on a line by itself
-----BEGIN CERTIFICATE----- MIIEFDCCAvygAwIBAgIJAPHwXfp+wstCMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYD VQQGEwJKUDEOMAwGA1UECAwFVG9reW8xEjAQBgNVBAcMCU1pbmF0by1rdTEWMBQG A1UECgwNQ2lzY28gU3lzdGVtczEUMBIGA1UECwwLU2VjdXJpdHlMYWIxFDASBgNV BAMMC09wZW5TU0wtUkNBMSIwIAYJKoZIhvcNAQkBFhNyY2EtYWRtaW5AY2lzY28u Y29tMB4XDTIxMDExNTA0NDI1NFoXDTMxMDExMzA0NDI1NFowgZkxCzAJBgNVBAYT AkpQMQ4wDAYDVQQIDAVUb2t5bzESMBAGA1UEBwwJTWluYXRvLWt1MRYwFAYDVQQK DA1DaXNjbyBTeXN0ZW1zMRQwEgYDVQQLDAtTZWN1cml0eUxhYjEUMBIGA1UEAwwL T3BlblNTTC1SQ0ExIjAgBgkqhkiG9w0BCQEWE3JjYS1hZG1pbkBjaXNjby5jb20w ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDSt8AH5hS9NGACTxcXR9wi 1TN4J7rQlAhrsIY0gD4Ydve7xICQx5IXjlqnNj2x2VoWnFgDD+KF3GJtgCHw1Ru/ 0aTygyzLpDZbfw3L0p2XDW4QtlbWhQgMeSer2+qBLCKVCDo2nWuexw4TcrcVvwV6 bBuQAAOp0zR8nJLBiK0yrPzkM/z5/J4cBU1PmJYsOQc/MmejbSsntf+U8h70wLKA k5A52dGHmFgOmu60Sz1lkhnFJrmMxksWMv5Crw8IluA5YDcapWh/IS3TvjvigC9o RgzRfgBhYlukzG6YGM/FnNim8RN37uQteHigWNpAGAGD8HIXHGaVLiyyysviu6PT AgMBAAGjXTBbMB0GA1UdDgQWBBTK6WCU+Ogog7woAEvLIFNlIdHUAjAfBgNVHSME GDAWgBTK6WCU+Ogog7woAEvLIFNlIdHUAjAMBgNVHRMEBTADAQH/MAsGA1UdDwQE AwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAW0yFOKB3IJcgD6hANnBWT64djdohQYsf GTbcHsrO7e3Y8F52X7dwMlFbLQcFwe/bfH8Dr6NY2TZF+QS+uNXBJJ9m4XSBAOv8 9lJuyhptQm25nUxC3jwDgCxQ5cFCwvwXXPf2X09nN4G/pksGxwfMjY9eQs5UFN31 3fQJLD6yHjcNL5D7Ez6v5O63G7p9yf15/Prl+9snhHkIDCDB/XYkkRJ/Rg8EAvtx 40xoFyIZCTjtijfvAr7k2r8bnQ9Cqasb8sygbAF7XaZ+lDTTpt2MMXlXoD9xNB14 rKr9itmiIdtbX+XkQ3bcqr33avGTlU+mOvztCxsKGxmmjwtkbx24EQ== -----END CERTIFICATE-----
Certificate has the following attributes: Fingerprint MD5: 69F93B08 306C94BD AC039BDB 6855B452 Fingerprint SHA1: 702D2B6E 4D2B0D8A DEC87A68 CC65C374 466A1E76
% Do you accept this certificate? [yes/no]: yes Trustpoint CA certificate accepted. % Certificate successfully imported |
(4) ルータから CSR を生成します。
R5(config)#crypto pki enroll OpenSSL-CA12 % Start certificate enrollment ..
% The subject name in the certificate will include: CN="192.168.55.21" % The subject name in the certificate will include: R5.securitylab.com % Include the router serial number in the subject name? [yes/no]: no % Include an IP address in the subject name? [no]: no Display Certificate Request to terminal? [yes/no]: yes Certificate Request follows:
MIIBnDCCAQUCAQAwOzEWMBQGA1UEAxMNMTkyLjE2OC41NS44MTEhMB8GCSqGSIb3 DQEJAhYSUjUuc2VjdXJpdHlsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQC2exprFDvIo2Ma0ByCM4El/KocUTWadl1Tv8dxZqlkpRM6o6JUL/pfchX9 ji3fuYHQG2k7+WD9OL2t4wzVbZzHaM2fKyraXKg9Q6g/WOBqfpvokUB/9WfqBxnZ JTRJrMzmHrSTeb+jNozU6ckDyqmyeFRzAd05HEg5gGeFojVtHwIDAQABoCEwHwYJ KoZIhvcNAQkOMRIwEDAOBgNVHQ8BAf8EBAMCBaAwDQYJKoZIhvcNAQEFBQADgYEA Keyj2hMl9OMrRiFypXY8uTuR3egY+UYN452e5yotfdEUtwWj0DakFxO/no/riTdv z+Ho+HC+DkirNZPu5g8e3q/ldnEkMWmG7Ogu+iUWeX+a6R/Vc3YhFWWP9aNvKzxe Zvue6FtjAYg1+HsUvDiXlSxMXgOMBcey2Ad8pfcrRx8=
---End - This line not part of the certificate request---
Redisplay enrollment request? [yes/no]: no R5(config)# |
上記のバイナリ出力をBEGIN … ENDで囲むとCSR ファイルが作成できます。
-----BEGIN CERTIFICATE REQUEST-----
....
-----END CERTIFICATE REQUEST----- |
例:
-----BEGIN CERTIFICATE REQUEST----- MIIBnDCCAQUCAQAwOzEWMBQGA1UEAxMNMTkyLjE2OC41NS44MTEhMB8GCSqGSIb3 DQEJAhYSUjUuc2VjdXJpdHlsYWIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQC2exprFDvIo2Ma0ByCM4El/KocUTWadl1Tv8dxZqlkpRM6o6JUL/pfchX9 ji3fuYHQG2k7+WD9OL2t4wzVbZzHaM2fKyraXKg9Q6g/WOBqfpvokUB/9WfqBxnZ JTRJrMzmHrSTeb+jNozU6ckDyqmyeFRzAd05HEg5gGeFojVtHwIDAQABoCEwHwYJ KoZIhvcNAQkOMRIwEDAOBgNVHQ8BAf8EBAMCBaAwDQYJKoZIhvcNAQEFBQADgYEA Keyj2hMl9OMrRiFypXY8uTuR3egY+UYN452e5yotfdEUtwWj0DakFxO/no/riTdv z+Ho+HC+DkirNZPu5g8e3q/ldnEkMWmG7Ogu+iUWeX+a6R/Vc3YhFWWP9aNvKzxe Zvue6FtjAYg1+HsUvDiXlSxMXgOMBcey2Ad8pfcrRx8= -----END CERTIFICATE REQUEST----- |
(5) ルータのサーバ証明書を取得します。
出来上がった CSR を OpenSSL CA に署名してもらうとルータの証明書を取得できます。
(6) OpenSSL CA が署名した証明書をルータにインポートします。
インポートするときはテキストエディターより証明書を開き、そのバイナリの中身をルータのCLIにコピーペーストします。
R5(config)#crypto pki import OpenSSL-CA12 certificate
Enter the base 64 encoded certificate. End with a blank line or the word "quit" on a line by itself
-----BEGIN CERTIFICATE----- MIID+DCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBnzELMAkGA1UEBhMCSlAx DjAMBgNVBAgMBVRva3lvMRIwEAYDVQQHDAlNaW5hdG8ta3UxFjAUBgNVBAoMDUNp c2NvIFN5c3RlbXMxFDASBgNVBAsMC1NlY3VyaXR5TGFiMRowGAYDVQQDDBFndWpp bi1PcGVuU1NMLVJDQTEiMCAGCSqGSIb3DQEJARYTcmNhLWFkbWluQGNpc2NvLmNv bTAeFw0xOTA2MjkyMzAyMDFaFw0yMDA2MjgyMzAyMDFaMBgxFjAUBgNVBAMTDTE5 Mi4xNjguNTUuODEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMnIih9cW4fp D3qQwYfCHcS5ydWzIOon198kUnToCMlpwPKocAx5pwPImnNuK+cNsXEw/ko83d4o PDqKnMHh54UvMbHrcKHWFbUuxVzxav71U0+x6uM3/xwTiBGyR453DpsmLCxFmiZs 1U+UtxHlNHim63KGKqLb/DPwZxFQNKTbAgMBAAGjggFHMIIBQzAdBgNVHSUEFjAU BggrBgEFBQcDAQYIKwYBBQUHAwIwMwYJYIZIAYb4QgENBCYWJE9wZW5TU0wgR2Vu ZXJhdGVkIFNlcnZlciBDZXJ0aWZpY2F0ZTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF oDAdBgNVHQ4EFgQUmYzSREAeI4zpbsG2CzfMfBIEeqcwHwYDVR0jBBgwFoAUv5gc tuoP20E72Fu23QxALapVCOowOQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL2xpbnV4 MS5zZWN1cml0eWxhYi5jb20vcmV2b2tlLmNybDA+BggrBgEFBQcBAQQyMDAwLgYI KwYBBQUHMAGGImh0dHA6Ly9vY3NwLmxpbnV4MS5zZWN1cml0eWxhYi5jb20wGgYD VR0RBBMwEYIPc2VjdXJpdHlsYWIuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQB0Qroh CAZrNbl+8r6W/fbEmRKjEeVPAYaehRH1FUshhLzwRsEdOV0WE3GIURHE12znDepm wJlrGFxiwW9jIQfpBdfEwjjvOsIfLtGs/UpKpNlUGrYMjsyrSWgBzvpAR2RlaMol B4mIZd/x5s0GDjgJ7zn7gs/MErlWwSTL557DuB0wJeWOTMtAGylPY2IsVr5oXkg8 8+OdAv94U9SEsHiA8xYQILsZDjHByzowJCG8NyMJ6GQPij7+1Qy+NGAqWpw7PGm/ u17sdXErh9o8t6eSr7IDhvEgQ4DGgjCyIM1pm7Z5y/qzCvlWPJAJrGSva8DHWCMr ohrYRqgzqx4LjP5m -----END CERTIFICATE-----
% Router Certificate successfully imported |
上記により OpenSSL CAのルート証明書とルータの証明書のインポートが完了します。
三、Windows10 に OpenSSL CA の証明書をインポートする
ここではまず Windows10 に OpenSSL CA のルート証明書をインポートします。次にWindow10 で CSR を発行し、OpenSSL CA に署名してもらい、発行されたクライアント証明書を Windows10 にインポートします。
(1) Windows10 よりmmc (Microsoft Management Console) を開きます。
(2) MMC Console から File > Add/Remote Snap-ins をクリックします。
(3) Certificates > Add をクリックし、”Certificates Snap-in” を追加します。その後デフォルトのまま Finish をクリックします。
(4) Certificates をクリックし、証明書管理コンソールを開きます。
(5) Trusted Root Certification Authorities を右クリックし、All Tasks > Import
(6) Certificate Import Wizard に従って OpenSSL CA のルート証明書をインポートします。
(7) Personal を右クリックし、All Tasks > Advanced Operations > Create Custom Request を開く CSR を作成します。
(8) Wizard に従い、Certificate Information > Details > Properties より必要な項目を設定します。
(これより前の設定はデフォルトのままにします)
(9) 生成された CSR を OpenSSL CA で署名し、Windows10 用のクライアント証明書を発行してもらいます。
(10) Personal を右クリックし、All Tasks > Import より発行された Windows10 のクライアント証明書をインポートします。
以上により Window10 での証明書インポートが完了します。
四、参考文献
[1] OpenSSLによる証明書検証環境構築(802.1x,CRL,OCSP)
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます