Android 透過OpenVPN連上AdvancedTomato OpenVPN server (一) : 產生server及clients需要的CA , cert, key

此篇只是自己的memo,由於自己也不是很懂,只是照著HOWTO完成,所以也無法幫人回答問題。

以下是在windows上完成,下載OpenVPN Installer,安裝時,記得勾選easy-rsa。
安裝完成後,進入C:\Program Files\OpenVPN\easy-rsa後。


  1. 先將vars.bat.sample中的
    set KEY_COUNTRY=US
      set KEY_PROVINCE=CA
        set KEY_CITY=SanFrancisco
          set KEY_ORG=OpenVPN
            set KEY_EMAIL=mail@host.domain
              set KEY_CN=changeme
                set KEY_NAME=changeme
                  set KEY_OU=changeme
                    set PKCS11_MODULE_PATH=changeme
                      set PKCS11_PIN=1234
                      修改好,這些選項待會製作crt等的時候會一直重覆問,先改好就不用每次修改,看HOWTO中說明,只有Common Name比較重要要改,其他無所謂。
                      最後2個PKCS11相關的項目,google後是說和硬體key相關,例如卡片、usb key,沒有用那些東西就不用管他。
                    1. 用管理員權限執行cmd,進到上述目錄,執行init-config:會把剛才的vars.bat.sample copy一份到vars.bat。
                    2. 依序執行
                      vars
                      clean-all
                      build-ca
                      
                      build-ca會產生certificate authority (CA) certificate和key(存在easy-rsa\keys資料夾裡)。
                    3. 接著產生server和clients的certificate和key。
                      build-key-server server
                      build-key client1
                      build-key client2
                      build-key client3
                      
                      以上建立1個server和3個clients的certificate和key。其中,common name好像要改一下,不管你改不改,我是改了。
                    4. 最後建立Diffie Hellman parameters
                      build-dh
                      
                      以上指令產生的檔案,都會在C:\Program Files\OpenVPN\easy-rsa\keys\中。
                      官方列表如下:
                      FilenameNeeded ByPurposeSecret
                      ca.crtserver + all clientsRoot CA certificateNO
                      ca.keykey signing machine onlyRoot CA keyYES
                      dh{n}.pemserver onlyDiffie Hellman parametersNO
                      server.crtserver onlyServer CertificateNO
                      server.keyserver onlyServer KeyYES
                      client1.crtclient1 onlyClient1 CertificateNO
                      client1.keyclient1 onlyClient1 KeyYES
                      client2.crtclient2 onlyClient2 CertificateNO
                      client2.keyclient2 onlyClient2 KeyYES
                      client3.crtclient3 onlyClient3 CertificateNO
                      client3.keyclient3 onlyClient3 KeyYES

                    留言

                    熱門文章