来源: cryptor    使用指南 |   2015年02月14日   

  EMCSSL除了提供安全的SSL(安全套接协议)数据传输外,还允许用户使用SSL客户端证书在服务器上完成认证。以下内容介绍了如何准备、安装和部署EMCSSL到服务器上,以便于用户通过EMCSSL证书进行无密码认证登陆。

1455393365748488.png

  要用户通过EMCSSL在网站上实施身份认证,您需要为该网站准备一个SSL证书,并且在网站服务器或VPS上安装崛起币(Emercoin)钱包客户端。

在Debian系统中安装崛起币(Emercoin)钱包客户端的教程,请点击 这 里

生成EMCSSL证书的详细说明,请点击 这 里

为网站获得一个免费的SSL证书

  如果您的网站已经从cloudflare.com上获得了免费证书,通过对该证书的使用,你一定会对免费证书失望。为了实现通过CloudFlare的企业级SSL证书认证,则需要支付不小的费用,所以劝您放弃该服务,您可以从其他网站获得免费的SSL证书。

我建议用中国WoSign,提供3年免费的SSL证书,而获得该证书很简单的,步骤如下:

  • 点击打开 WoSign网站;

  • 第1步:设置证书参数,输入域名,其他别改动;

  • 第2步:域名控制验证。在这个步骤中,您需要验证您拥有该域,网站会让您设置域名后缀的邮件地址,稍后网站会发送验证码到设置好的邮件地址;

  • 第3步:请选择证书签名的请求方式 —— 选择选项1:由系统生成。然后输入密码,密码切记不要随便输入,稍后下载证书文件和运行归档时,需要输入你设置的密码;

  • 第4步:输入电子邮件,以便于接收证书的下载链接。

WoSign

  当所有操作都正确后,等待大概6至12个小时,证书文件的下载链接会发送给您。

在服务器上安装SSL证书

  在下载的证书文件包中,包含适用于不同系统的证书文件:Nginx、Tomcat、其他等等。建议使用Apache.zip文件包,里面含有3个文件:证书文件、密钥文件和1_root_bundle.crt文件,将这3个文件传输到服务器中

  建议使用免费而功能强大的主机(VPS)控制面板 Vesta CP ,内置中文版本,安装和使用非常简便:

  • 打开您所在服务器的Vesta控制面板,在新建的一个网站中,点击“编辑”,并且选中SSL支持;

  • 将SSL证书、私钥文件和1_root_bundle.crt文件中的内容,用记事本打开,并且一一对应的复制填写框中。

vesta

  如果您没有使用任何主机控制面板,那么您需要编辑 apache config 文件,特别指明证书和私钥的路径:

SSLCertificateFile /path/to/yourdomain.ru.crt
SSLCertificateKeyFile /path/to/yourdomain.ru.key
SSLCertificateChainFile /path/to/1_root_bundle.crt

  要验证用户认证,需要服务器首先验证 EMCSSL的证书文件“emcssl_ca.crt” 。下载证书生成工具文件包(Windows版 / Unix 版如Mac OS),证书文件在 X509 / CA 文件夹中。文件下载后上传至服务器的“证书文件”文件夹中。

  如果您使用Vesta CP,则将EMCSLL证书上传到 “/ home/user/conf/web / ”文件夹中;

  接下来编辑 apache config(配置文件),Vesta的apache配置文件路径为“/home/user/conf/web/sapache2.conf ”;

  然后指定服务器验证用户证书:

SSLCACertificateFile /path/to/emcssl_ca.crt

  接下来,我们需要指定某些目录的访问,是用户必须使用证书访问的。为了测试,我建议在网站上创建一个文件夹,并下载文件包 emcssl_login_example.tar.gz(我们需要bitcoinController文件夹,以及InfoCard.php和config.php文件)。在config.php文件中编辑,可以直接指定 emercoind的数据:- rpc用户名、rpc密码和主机,这些数据预设于 emercoin.conf 文件中。

  返回到Apache config 配置文件,并且为测试指定文件夹:

<Directory /path/to/testssl>
        SSLOptions +StdEnvVars +ExportCertData
        SSLVerifyClient optional
        SSLVerifyDepth 1
</Directory>

  在该测试中,配置文件如下:

<VirtualHost 188.226.132.46:443>
    ServerName cryptor.net
    ServerAlias www.cryptor.net
    ServerAdmin info@cryptor.net
    DocumentRoot /home/cryptor/web/cryptor.net/public_html
    ScriptAlias /cgi-bin/ /home/cryptor/web/cryptor.net/cgi-bin/
    Alias /vstats/ /home/cryptor/web/cryptor.net/stats/
    Alias /error/ /home/cryptor/web/cryptor.net/document_errors/
    #SuexecUserGroup cryptor cryptor
    CustomLog /var/log/apache2/domains/cryptor.net.bytes bytes
    CustomLog /var/log/apache2/domains/cryptor.net.log combined
    ErrorLog /var/log/apache2/domains/cryptor.net.error.log
    <Directory /home/cryptor/web/cryptor.net/public_html>
        AllowOverride All
        SSLRequireSSL
        Options +Includes -Indexes +ExecCGI
    </Directory>
    <Directory /home/cryptor/web/cryptor.net/stats>
        AllowOverride All
    </Directory>
    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile /home/cryptor/conf/web/ssl.cryptor.net.crt
    SSLCertificateKeyFile /home/cryptor/conf/web/ssl.cryptor.net.key
    SSLCertificateChainFile /home/cryptor/conf/web/ssl.cryptor.net.ca
SSLCACertificateFile /home/cryptor/conf/web/emcssl_ca.crt
<Directory /home/cryptor/web/cryptor.net/public_html/testssl>
        SSLOptions +StdEnvVars +ExportCertData
        SSLVerifyClient optional
        SSLVerifyDepth 1
    </Directory>
    <IfModule mod_ruid2.c>
        RMode config
        RUidGid cryptor cryptor
        RGroups www-data
    </IfModule>
    <IfModule itk.c>
        AssignUserID cryptor cryptor
    </IfModule>
    Include /home/cryptor/conf/web/sapache2.cryptor.net.conf*
</VirtualHost>

  现在你仅需要新建一个文件夹,用于恢复InfoCard的数据:

mkdir /var/tmp/infocard

  指定文件夹的所有者(在Vesta控制面板中,网站的所有者):

chown -R user:group /var/tmp/infocard

  设置权限

chmod 0700 /var/tmp/infocard

  设置完毕,重启apache2

service apache2 restart

  完工!

  如果一切配置正确,打开页面“vashsayt/testovaya_papka/InfoCard.php”, 服务器将显示来自emcSSL证书的信息。

  点击查看 测 试 页 面 的效果。

扫一扫二维码分享