生成 OpenVPN 证书 & 密钥

S系列 IPPBX 和客户端制作证书和密钥。

重要: 以下所有命令均在同一个 CMD 窗口执行。

如果你想要在新的 CMD 窗口中执行命令(如新建客户端证书和密钥):

  • 不需要再执行 init-config 命令。
  • 每次在新的 CMD 窗口执行命令时,请先执行 vars 命令,再执行其它命令。

初始化 OpenVPN 配置

  1. Windows + R 键,输入 cmd 后按 Enter 键。
  2. 进入目录 %ProgramFiles%\OpenVPN\easy-rsa (e.g. D:\OpenVPN\easy-rsa)。
    cd D:\OpenVPN\easy-rsa
  3. 初始化配置。
    init-config
  4. 使用文本编辑器打开 vars.bat 文件。
    notepad vars.bat
    1. 修改 KEY_SIZE 参数。
      通常,私钥大小设置为 1024 或 2048。
      set KEY_SIZE=2048
    2. 自定义如下信息,直接替换 “US”,“CA”等。
      稍后,在制作CA,证书和密钥时,需要输入内嵌的证书信息。 如果预先更改下面的默认变量值,则不必每次都输入这些信息。
      set KEY_COUNTRY=CN
      set KEY_PROVINCE=FJ
      set KEY_CITY=Xiamen
      set KEY_ORG=Yeastar
      set KEY_EMAIL=support@yeastar.com
    3. 保存 vars.bat 文件,返回 CMD 窗口。
  5. 执行如下命令,确保所有操作都在初始环境下进行。

    请注意,该操作会清空 keys 目录下的所有证书和密钥文件。

    vars
    clean-all

生成 CA 根证书

  1. 执行以下命令,在 keys 目录下生成 ca.crtca.key 文件。
    build-ca
  2. 当系统提示输入证书内嵌信息时,输入你的国家,地区等。

    你也可以直接按 Enter 使用括号中预置的信息。

    重要: Common Name 是必须输入的唯一参数 。 在下面的示例中,我们将 Common Name 设置为 OpenVPN_CA
    Country Name (2 letter code) [CN]:
    State or Province Name (full name) [FJ]:
    Locality Name (eg, city) [Xiamen]:
    Organization Name (eg, company) [Yeastar]:
    Organizational Unit Name (eg, section) [changeme]:admin
    Common Name (eg, your name or your server's hostname) [changeme]:OpenVPN_CA
    Name [changeme]:Yeastar
    Email Address [support@yeastar.com]:

生成服务器证书&密钥

  1. 执行如下命令,在 keys 目录下生成 {server_name}.crt{server_name}.key 文件。
    如下命令所示,生成 server.crtserver.key
    build-key-server server
  2. 当系统提示输入证书内嵌信息时,输入你的国家,地区等。

    你也可以直接按 Enter 使用括号中预置的信息。

    重要: Common Name 是必须输入的唯一参数 ,命名与 {server_name} 保持一致。 在下面的示例中,我们将 Common Name 设置为 server
    Country Name (2 letter code) [CN]:
    State or Province Name (full name) [FJ]:
    Locality Name (eg, city) [Xiamen]:
    Organization Name (eg, company) [Yeastar]:
    Organizational Unit Name (eg, section) [changeme]:admin
    Common Name (eg, your name or your server's hostname) [changeme]:server
    Name [changeme]:Yeastar
    Email Address [support@yeastar.com]:
  3. 当系统提示签署证书并确认时,输入 y, 按 Enter 键。
    Sign the certificate? [y/n]:y
    1 out of 1 certificate requests certified, commit? [y/n]y

生成客户器证书&密钥

  1. 执行如下命令,在 keys 目录下生成 {client_name}.crt{client_name}.key 文件。

    如下命令所示,生成 client.crtclient.key

    build-key client
  2. 当系统提示输入证书内嵌信息时,输入你的国家,地区等。

    你也可以直接按 Enter 使用括号中预置的信息。

    重要: Common Name 是必须输入的唯一参数 ,命名与 {client_name} 保持一致。 在下面的示例中,我们将 Common Name 设置为 client
    Country Name (2 letter code) [CN]:
    State or Province Name (full name) [FJ]:
    Locality Name (eg, city) [Xiamen]:
    Organization Name (eg, company) [Yeastar]:
    Organizational Unit Name (eg, section) [changeme]:admin
    Common Name (eg, your name or your server's hostname) [changeme]:client
    Name [changeme]:Yeastar
    Email Address [support@yeastar.com]:
  3. 当系统提示签署证书并确认时,输入 y, 按 Enter 键。
    Sign the certificate? [y/n]:y
    1 out of 1 certificate requests certified, commit? [y/n]y
  4. 重复步骤 1 到步骤 3 分别为每个客户端创建证书 & 密钥。

    每个客户都按使用唯一名称作为标识,如 Windsows PC 的客户端命名为 windows.crtwindows.key

生成 ta.key

执行如下命令,在 keys 目录下生成 ta.key

OpenVPN --genkey --secret keys/ta.key

生成 Diffie Hellman 参数

build-dh