⑴ 如何实现ssl安全证书访问
网站实现ssl安全证书访问是需要申请SSL证书的,主要步骤如下:
步骤一:选择适合的SSL证书类型,申请一张SSL证书
SSL证书种类可分为:
EV SSL证书 – 扩展验证型SSL证书
OV SSL证书 – 机构验证型SSL证书
DV SSL证书 – 域名验证型SSL证书
步骤二:签署合同;确认支付方式;
步骤三:准备CSR并选择确认方式;
步骤四:在线提交申请;
步骤五:确认申请;颁发证书。
⑵ nginx服务器怎么配置浏览器访问需要证书
一直在用Nginx做反向代理,但是其SSL的配置只用过普通的服务端单向证书。在Google,网络狂搜一通之后,一无所获,依旧是那老三样,只有单向认证的示例。浏览器端双向认证的配置好像从没人写过。
因为要来回的设置所有直接使用域名操作比如:
chaodiquan.com 解析到 IP上面(IP要用你自己的,如果使用CDN另算)
这个是主要在最后的实际应用的测试的使用会用到
因为是自己实际应用,只好从OpenSSL的客户端证书开始学起,一点一点啃,大段大段的E文让我这半瓶子醋看的头晕眼晕。
的提示下终于把这个证书搞定,来秀一个。
这需要一下几个步骤:
1) 安装openssl用来做证书认证
2) 创建一个CA根证书
3) 创建一个自签名的服务器证书
4) 设置Nginx
5) 创建客户端证书
6) 安装客户端证书到浏览器
7) Profit.
1)
这一步我是在ubuntu下直接apt-get装的openssl, 配置文件安装在/etc/ssl/openssl.cnf
修改openssl.cnf的以下几段
[ ca ]
default_ca = foo
Openssl将会寻找名称为foo的配置段
[ foo ]
dir = /etc/ssl/private
database = $dir/index.txt
serial = $dir/serial
private_key = $dir/ca.key
certificate = $dir/ca.crt
default_days = 3650
default_md = md5
new_certs_dir = $dir
policy = policy_match
policy_match 我保持默认值没有改
[ policy_match ]
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = match
commonName = supplied
emailAddress = optional
默认签发有效期为10年,你可以自己设置一个合适的值
2)
创建一个新的CA根证书
下面的几个脚本我都放在/etc/ssl目录下
new_ca.sh:
#!/bin/sh
# Generate the key. genrsa意思是生成一个私钥
openssl genrsa -out private/ca.key
# Generate a certificate request. req表示生成证书,还能生成ca证书,-new表示产生一个新csr,需要输入一些信息,-key表示私钥,
openssl req -new -key private/ca.key -out private/ca.csr
#
Self signing key is bad... this could work with a third party signed
key... registeryfly has them on for $16 but I'm too cheap lazy to get
one on a lark.
# I'm also not 100% sure if any old certificate will
work or if you have to buy a special one that you can sign with. I could
investigate further but since this
# service will never see the light of an unencrypted Internet see the cheap and lazy remark.
# So self sign our root key.
x509是一个证书生成工具,显示证书内容,转换格式,给CSR签名等
-signkey用来处理CSR和给证书签名,就像CA。使用时得同时提供私钥,把输入文件变成自签名的证书,如果输入CSR文件,则生成自签名文件
-days证书有效时间
-in输入文件 -out输出文件
openssl x509 -req -days 3650 -in private/ca.csr -signkey private/ca.key -out private/ca.crt
#
Setup the first serial number for our keys... can be any 4 digit hex
string... not sure if there are broader bounds but everything I've seen
uses 4 digits.
echo FACE > private/serial
# Create the CA's key database.
touch private/index.txt
# Create a Certificate Revocation list for removing 'user certificates.'
gencrl在index文件中生成一个CRL相关的信息
-crldays是crl过期的时间
openssl ca -gencrl -out /etc/ssl/private/ca.crl -crldays 7
执行 sh new_ca.sh 生成新的CA证书
3)
生成服务器证书的脚本
new_server.sh:
#
Create us a key. Don't bother putting a password on it since you will
need it to start apache. If you have a better work around I'd love to
hear it.
openssl genrsa -out private/server.key
# Take our key and create a Certificate Signing Request for it.
openssl req -new -key private/server.key -out private/server.csr
# Sign this bastard key with our bastard CA key.
-cert CA本身的证书名
-keyfile CA本身的私钥
这句就是相当于CA用他的证书和私钥,根据服务器的证书,来给出一个CA认证的证书
openssl ca -in private/server.csr -cert private/ca.crt -keyfile private/ca.key -out private/server.crt
执行 sh new_server.sh 生成新服务器的证书
4)
最要命的一步,尝试多次后终于搞明白。
配置 nginx 的ssl支持
我的配置如下:
# HTTPS server
#
server {
listen 443;
server_name localhost;
# 打开ssl
ssl on;
# 上一步生成的服务器证书
ssl_certificate /etc/ssl/private/server.crt;
# 服务器证书公钥
ssl_certificate_key /etc/ssl/private/server.key;
# 客户端证书签名 也就是第二步生成的CA签名证书
ssl_client_certificate /etc/ssl/private/ca.crt;
# ssl session 超时
ssl_session_timeout 5m;
# 打开SSL客户端校验 (双向证书检测)
ssl_verify_client on;
#ssl_protocols SSLv2 SSLv3 TLSv1;
#ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
root /var/www/nginx-default;
index index.html index.htm;
}
启动你的nginx ,等待客户连接
5)
现在来生成客户端证书
new_user.sh:
#!/bin/sh
# The base of where our SSL stuff lives.
base="/etc/ssl/private"
# Were we would like to store keys... in this case we take the username given to us and store everything there.
mkdir -p $base/users/$1/
# Let's create us a key for this user... yeah not sure why people want to use DES3 but at least let's make us a nice big key.
生成用户私钥
openssl genrsa -des3 -out $base/users/$1/$1.key 1024
# Create a Certificate Signing Request for said key.
根据用户私钥生成他的证书
openssl req -new -key $base/users/$1/$1.key -out $base/users/$1/$1.csr
# Sign the key with our CA's key and cert and create the user's certificate out of it.
模拟CA来给出CA认证过的证书
openssl ca -in $base/users/$1/$1.csr -cert $base/ca.crt -keyfile $base/ca.key -out $base/users/$1/$1.crt
# This is the tricky bit... convert the certificate into a form that most browsers will understand PKCS12 to be specific.
#
The export password is the password used for the browser to extract the
bits it needs and insert the key into the user's keychain.
# Take the same precaution with the export password that would take with any other password based authentication scheme.
pkcs12 处理pkcs12文件
根据CA认证过的证书和用户的私钥来生成p12验证证书,可用服务器导入。
openssl pkcs12 -export -clcerts -in $base/users/$1/$1.crt -inkey $base/users/$1/$1.key -out $base/users/$1/$1.p12
执行 sh new_user.sh yourname 来生成一个 yourname 的client证书
按照提示一步一步来,这里要注意的是客户证书的几个项目要和根证书匹配
也就是第一步时配置的:
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = match
不一致的话无法生成最后的客户证书
6)
发送上一步生成的 yourname.p12 到客户端。
IE下双击安装就可以导入。
FireFox安装 :
Go into preferences.
Advanced.
View Certificates.
Import.
Enter master password for FireFox (if you don't have one set one here otherwise stolen laptop = easy access).
Enter in the export password given to you by the de who created your cert.
Hit OK like a mad man.
打开第一步进行设置的域名解析会弹出对话框来要求你选择使用哪个证书,选择刚才安装的证书。选择接受服务器证书。现在你可以正常访问服务器拉。如果没弄对的话就会出现400 Bad request certification的错误
7)没啥拉,有问题多试几次,其实都是很简单的事。就是中文的资料太少了。
希望可以帮助到你哈
⑶ 公司有一WEB服务器,要求客户端证书访问 怎么设置
IIS里右键站点属性,然后选择目录安全性选项卡,最下面那个就是证书服务,但是你必须有证书服务器,才能用,因为证书服务器需要颁发证书,证书服务器你可以自己装下。
⑷ 如何为自己的WordPress站点安装SSL证书开启https访问
进入Gworg选择SSL证书配置到服务器,根据技术文档设置强制HTTPS访问后,网站后台URL地址改成HTTPS地址就可以了。
⑸ 配置使用Win2003 Server web服务器SSL安全证书怎么弄
Gworg申请SSL证书后进入服务器使用对用服务器环境SSL安装即可。
另外Gworg提供IIS6服务器安装说明。
⑹ ios 访问服务器的证书该怎么使用
提高苹iOS App安全性确保App架发者必须App服务器启用符合ATS要求HTTPS证书沃通免费SSL证书符合苹ATS要求支持谷歌CT证书透明度帮助发者轻松应新安全标准!
建议iOS发者配置HTTPS连接注意几点:
·向规CA机构(沃通CA)申请符合ATS要求SSL证书
·校验证书链
·校验证书签发者
·校验证书域名否匹配
您何确启用HTTPS连接疑问沃通CA提供专业技术咨询帮助用户更加安全配置HTTPS证书确启用HTTPS加密连接
t
⑺ linux上配置ssl证书怎么访问
淘宝一个SSL证书,叫机构提供您对应服务器环境的证书,然后按照教程安装。
APACHE安装SSL证书:https://www.gworg.com/ssl/106.html
Apache自动跳转到 HTTPS:https://www.gworg.com/ssl/130.html
Nginx安装SSL证书:https://www.gworg.com/ssl/107.html
Nginx 自动跳转到HTTPS:https://www.gworg.com/ssl/167.html
⑻ IIS证书,如何才能使客户端下载证书才能访问网站
将web站点配置为要求 SSL 访问
在IIS中查看这个Web 站点的属性。 单击“目录安全性”选项卡。 单击“安全通信”下的“编辑”。 单击“要求安全通道 (SSL)”。现在客户端必须使用 HTTPS 浏览到此虚拟目录。
http://hi..com/reeyan/blog/item/95670ccaf8e864f552664f9f.html
本文给出了如何配置IIS通过SSL安全通道进行访问的方法,并在此基础上详细讨论了IIS如何设置要求对客户端提供客户端证书进行身份验证。IIS端SSL服务器证书申请和安装,从而配置SSL安全访问通道。客户端证书的申请和安装,IIS端如何映射客户端证书到服务器上的windows账户等等。
一、 测试环境配置
准备三台机器,都是windows 2003操作系统,每台机器的作用,和其上需要安装的服务和配置如下:
1、 win2003系统_1
ip:192.168.1.11
机器名:win2003base1
服务器作用:这个服务器是用来安装证书服务,作为一个CA提供证书服务。
1.1. 安装IIS以承载CA证书服务
1.2. 安装证书服务,CA的公用名称设置为TestCA
在安装证书服务过程中会生成一个证书服务的证书,一个自己颁给自己的证书作为这个CA的根证书:
在安装了证书服务后,会把这个TestCA证书保存证书存储区的多个位置:
l 本地计算机存储区中的“个人”、“受信任的根证书颁发机构”、“中级证书颁发机构”,其中在“中级证书颁发机构”下的“证书”和“证书吊销列表”中都有(为什么会出现在“证书吊销列表”中?)。
l 当前用户存储区的“个人”。
2、 win2003系统_2
ip:192.168.1.12
机器名:win2003base2
服务器作用:这个服务器是用来作为web server,建立一个网站,设置为SSL安全通道访问,并需要客户端证书进行访问。
2.1. 安装IIS
默认网站作为测试客户端证书访问的web站点。
3、 win2003系统_3
ip:192.168.1.13
机器名:win2003base3
机器作用:这个机器只是作为一个单纯的IE客户端,用来申请客户端证书并使用证书访问web server。
二、 配置过程
1、 win2003系统_2申请并配置IIS 的SSL的服务端证书
1.1. 生成证书申请文件
在IIS要访问的那个网站的属性中,“目录安全性”--“服务器证书”,选新建证书:
下一步:
下一步:
向导使用当前 Web 站点名称作为默认名称。它不在证书中使用,但作为友好名称以助于管理员识别。下一步:
单位和部门,这些信息将放在证书申请中,因此应确保它的正确性。CA 将验证这些信息并将其放在证书中。浏览您的 Web 站点的用户需要查看这些信息,以便决定他们是否接受证书。下一步:
公用名是证书最后的最重要信息之一。它是 Web 站点的 DNS 名称(即用户在浏览您的站点时键入的名称)。如果证书名称与站点名称不匹配,当用户浏览到您的站点时,将报告证书问题。
如果您的站点在 Web 上并且被命名为 www.contoso.com,这就是您应当指定的公用名。
如果您的站点是内部站点,并且用户是通过计算机名称浏览的,请输入计算机的 NetBIOS 或 DNS 名称。
这里因为win2003系统_2服务器的机器名是win2003base2,所以共用名称设为win2003base2。
下一步:
下一步:
会要求证书申请的文件名,这是您的证书申请的 Base 64 编码表示形式。申请中包含输入到向导中的信息,还包括您的公钥和用您的私钥签名的信息。
将此申请文件发送到 CA。然后 CA 会使用证书申请中的公钥信息验证用您的私钥签名的信息。CA 也验证申请中提供的信息。
当您将申请提交到 CA 后,CA 将在一个文件中发回证书。然后您应当重新启动 Web 服务器证书向导。
下一步:
完成生成申请过程。
1.2. 提交证书申请
证书申请现在可以发送到 CA 进行验证和处理。当您从 CA 收到证书响应以后,可以再次使用 IIS 证书向导,在 Web 服务器上继续安装证书。
使用“记事本”打开在前面的过程中生成的证书文件,将它的整个内容复制到剪贴板。
启动 Internet Explorer,导航到 http://192.168.1.11/certsrv,指向win2003系统_1的证书服务。
单击“申请一个证书”,然后单击“下一步”。
在“选择申请类型”页中,单击“高级申请”,然后单击“下一步”。
在“高级证书申请”页中,单击“使用 Base64 编码的 PKCS#10 文件提交证书申请”,然后单击“下一步”。
在“提交一个保存的申请”页中,单击“Base64 编码的证书申请(PKCS #10 或 #7)”文本框,按住 CTRL+V,粘贴先前复制到剪贴板上的证书申请。
单击“提交”。
1.3. 颁发证书
提交申请后,在win2003系统_1机器上证书颁发机构中批准颁发这个win2003base2证书。
确认该证书显示在“颁发的证书”文件夹中,然后双击查看它。
在“详细信息”选项卡中,单击“复制到文件”,将证书保存为 Base-64 编码的 X.509 证书。
关闭证书的属性窗口。
1.4. 上安装证书
在win2003系统_2在IIS的Web 站点,然后单击“属性”,单击“目录安全性”选项卡。
单击“服务器证书”启动 Web 服务器证书向导。
单击“处理挂起的申请并安装证书”,然后单击“下一步”。
输入包含 CA 响应的文件的路径和文件名,然后单击“下一步”。
检查证书概述,单击“下一步”,然后单击“完成”。
现在,已在 Web 服务器上安装了证书。
win2003base2证书就会被安装到win2003系统_2机器上,证书会被安装到证书存储区的本地计算机存储区中的“个人”。
1.5. 将web站点配置为要求 SSL 访问
在IIS中查看这个Web 站点的属性。 单击“目录安全性”选项卡。 单击“安全通信”下的“编辑”。 单击“要求安全通道 (SSL)”。现在客户端必须使用 HTTPS 浏览到此虚拟目录。
⑼ java客户端怎么访问带有pfx格式证书的https网站(服务器)呢,
使用HttpURLConnection访问https地址。
以下是导入JKS证书的方式,可以参考。
Stringkeystorefile="file";
Stringkeystorepw="password";
Stringkeypw="password";
KeyStorekeystore=KeyStore.getInstance("JKS");
keystore.load(newFileInputStream(keystorefile),keystorepw.toCharArray());
=KeyManagerFactory.getInstance("SunX509");
keymanagerfactory.init(keystore,keypw.toCharArray());
KeyManagerakeymanager[]=keymanagerfactory.getKeyManagers();
=TrustManagerFactory.getInstance("SunX509");
trustmanagerfactory.init(keystore);
TrustManageratrustmanager[]=trustmanagerfactory.getTrustManagers();
sslcontext=SSLContext.getInstance("TLS");
sslcontext.init(akeymanager,atrustmanager,null);
sslSocketFactory=sslcontext.getSocketFactory();
Stringurl="asdfdf";
URLtestURL=newURL(url);
=(HttpURLConnection)testURL.openConnection();
if(){
HttpsURLConnectionconn=(HttpsURLConnection)urlConnection;
conn.setSSLSocketFactory(sslSocketFactory);
}
⑽ 如何使用数字证书访问SSL加密站点
直接在服务器上安装SSL证书就可以了啊,不同服务器安装SSL证书的教程不一样,具体的可以去安信证书查看。