草庐IT

证书常用相关知识

eplusing 2023-04-04 原文

证书常用相关知识

目录

1.       证书使用说明

1.1   服务端证书

1.1.1            制作秘钥对文件(证书库)

1.1.2            制作证书请求文件CSR(Certificate Signing Request)

1.1.3            通过EOA从CA申请证书

1.1.4            将申请到的cer证书导入证书库

1.1.5            将jks格式的服务端证书转换为pem格式

1.1.6            制作客户端信任证书

1.2   客户端证书

2.       证书使用简介

2.1   证书使用场景

2.2   常见证书类型

3.       生成证书

3.1   生成jks证书

3.1.1            生成命令

3.1.2            参数说明

3.2   生成证书申请文件CSR

3.2.1            执行命令

3.2.2            参数声明

3.3 证书服务机构CA签发证书

3.3.1            制作根证书

3.3.2            CA根据CSR签发证书

3.4   生成cer证书

3.4.1            从jks导出cer

3.4.2            参数说明

3.5   生成pem证书

3.6   生成rsa秘钥对

3.6.1            生成RSA私钥

3.6.2            生成RSA公钥(导出公钥)

3.7   生成jks证书

3.8   生成jks证书

4.       证书应用

5.       证书格式转换

5.1   cer转jks

5.2   cer格式转JKS

5.2.1            转换方式1

5.2.2            查看证书信息

5.3   cer信任证书转pfx

5.4   cer合成pfx

5.5   pem转pfx

5.5.1            转换方式1

5.5.2            转换方式2

5.5.3            方式3

5.5.4            方式4

5.6   pem 转 pkcs7(p7b)

5.7   pfx转pem

5.7.1            方式1

5.7.2            方式2(带密码)

5.7.3            方式3

5.8   pkcs7(p7b)转pem

5.9   pkcs7(p7b) 转 pfx

5.10            p8格式私钥转换为pem格式

5.11            查看pem格式的rsa私钥

5.12            生成不含密码保护的私钥

5.13            生成证书

5.14            生成PKCS12 格式Keystore

6.       制作证书

6.1   生产证书申请CSR文件

6.1.1            其他

7.       自签名pem证书

8.       Pfx证书常用操作

9.      


CA证书使用的原因:

证书是在互联网对安全提出需求的情况下出现的,安全就需要对数据进行加密,加密分为对称加密和非对称加密。

对称加密详见(对称加密blog),非对称加密详见(非对称加密blog),本文只围绕非对称加密展开。

非对称加密设计公钥和私钥,

现就A向B传输数据使用非对称加密常用的做法:

A:拥有公钥apub,私钥appk

B:拥有公钥bpub,私钥bppk

A使用B的公钥bpub对内容加密,B使用B的私钥bppk进行解密,因此A发送的内容智能由B的私钥来解密,即使数据被截获后可防止被解密。

B为了保证接口的数据确实是A发送的密文,需要A用A的私钥对内容进行加密,即数字签名,B使用A的公钥对接收到的数据进行解密,因为A的私钥只有自己拥有,若B能够解密收到的数据说明确实是A发送的。这个过程中B有用到A的公钥,但B要校验该公钥是否真正是A的公钥,这时CA证书就出现了,CA为A颁发CA证书,证书中包含A的公钥和CA用自己的私钥签名的信息,由于CA是权威,B的信任证书库包含CA的公钥,于是B就信任CA证明A的证书是真实的。

通常做法是使用公钥对内容加密,使用私钥就行解密。

1.       证书使用说明

目标:

1. 说明服务端证书的制作、申请、应用。

2. 说明客户端信任证书的制作、应用。

3 说明客户端的证书制作、申请、颁发、应用。

1.1   服务端证书

1.1.1            制作秘钥对文件(证书库)

keytool -genkey -v –alias front-https-server -keyalg RSA -keysize 1024 -keypass Paic1234 -dname " CN=FRONT-STG, OU=Technology, O=SystemDevelopmentDepartment, L=ShenZhen, ST=GuangDong, C=China" -keystore store.jks -storepass Password1234 -validity 3650

说明:storepass、keypass通常使用相同值

例:生成的秘钥对文件为store.jks,该证书库包含公私钥。

1.1.2            制作证书请求文件CSR(Certificate Signing Request)

keytool -certreq -file p10.txt -keystore store.jks

例:生成的证书请求文件为p10.txt

1.1.3            通过EOA从CA申请证书

使用证书请求文件p10.txt,并通过签发机构获取新CA签发的cer证书。

处理人审批完后,可向处理人获取CA签发的cer证书。

例:CA签发的cer证书为STG.cer

1.1.4            将申请到的cer证书导入证书库

Windows下操作:

1.1.4.1         将证书转换为包含证书认证链的p7b格式的证书

该小节下面的步骤是在win10 OS下的具体操作,其他windows系统与之类似亦可参考。

1.         双击cer证书文件进行安装

2.         安装证书

3.         继续下一步

4.         继续下一步

5.         点击完成

6.         在网络和共享中心找到并进入Internet选项

7.         进入internet选项后切换到内容选项卡

8.         点击证书

9.         选中导入的证书,点击导出

例:STG

10.     点击下一步

11.     选择P7B类型,并勾选包括证书路径中的所有证书,点击下一步

12.     保存导出的P7B格式的证书

例:D:\Users\eplusing\Desktop\STG.p7b

1.1.4.2         将包含证书认证链的p7b格式的证书导入到证书库

keytool -import -file STG.p7b -keystore store.jks

例:store.jks

至此服务端证书store.jks制作完成

1.1.5            将jks格式的服务端证书转换为pem格式

1.        

keytool -importkeystore -srckeystore store.jks -srcstoretype JKS -destkeystore STG.p12 -deststoretype PKCS12 

2.        

openssl pkcs12 -in STG.p12 -nodes -out STG.pem

1.1.6            制作客户端信任证书

keytool -import -file STG.cer -keystore stg-client-2022.jks

例:生成客户端信任证书stg-client-2022.jks提供给客户端,

1.2   客户端证书

1.制作证书申请文件

2.申请证书

3.获取申请到的证书

4.将申请到的证书导入证书库

keytool -import -file XIAODAI_003_STG.p7b -keystore XIAODAI_003_STG.jks

2.       证书使用简介

2.1   证书使用场景

JKS(JavaKeysotre)格式和PFX(PKCS12)格式,是最常见的SSL证书格式文件,可以包含完整的证书密钥对,证书链和信任证书信息。PFX常用于Windows IIS服务器,JKS常用于JAVA类的WEB服务器,如TOMCAT,WEBLOGIC,JBOSS,RESIGN,虽然近年来,这些服务器新的版本,都是可以同时支持PFX,JKS文件格式了,但是老的版本和免费版本,往往都只支持JKS格式,所以当我们在不同WEB平台切换的时候,可能需要转换现有的SSL证书格式。

JKS与PFX格式的证书常作为证书库进行使用。

2.2   常见证书类型

PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:

PKCS#7 Cryptographic Message Syntax Standard

PKCS#10 Certification Request Standard

PKCS#12 Personal Information Exchange Syntax Standard

X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。

PKCS#7常用的后缀是: .P7B .P7C .SPC

PKCS#12常用的后缀有: .P12 .PFX

X.509 DER编码(ASCII)的后缀是: .DER .CER .CRT

X.509 PAM编码(Base64)的后缀是: .PEM .CER .CRT

.cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。

.pem跟crt/cer的区别是它以Ascii来表示。

pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式存放。

p10是证书请求

p7r是CA对证书请求的回复,只用于导入

p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。

3.       生成证书

3.1   生成jks证书

3.1.1            生成命令

keytool -genkey -v -alias httpserver  -keyalg RSA -keysize 1024 -keypass Paic1234 -dname "cn=BIS_FRONT_SERVER_STG,ou=平安科技(深圳)有限公司,o=集团系统开发部,l=深圳,st=广东,c=CN" -keystore store.jks -storepass Paic1234 -validity 3650

3.1.2            参数说明

-genkeypair  表示要创建一个新的密钥

-dname 表示密钥的Distinguished Names,  表明了密钥的发行者身份

CN=commonName      注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost

OU=organizationUnit

O=organizationName

L=localityName

S=stateName

C=country

-keyalg 使用加密的算法,这里是RSA

-alias 和keystore关联的别名,这个alias通常不区分大小写

-keypass     私有密钥的密码,这里设置为 123456

-keystore   密钥保存在D:盘目录下的mykeystore文件中

-storepass 存取密码,这里设置为changeit,这个密码提供系统从mykeystore文件中将信息取出

-validity 该密钥的有效期为 180天 (默认为90天)

下面是各选项的缺省值。

-alias "mykey"

-keyalg "DSA"

-keysize 1024

-validity 90

-keystore 用户宿主目录中名为 .keystore 的文件

-file 读时为标准输入,写时为标准输出

cacerts证书文件(The cacerts Certificates File)

该证书文件存在于java.home\jre\lib\security目录下,是Java系统的CA证书仓库

3.2   生成证书申请文件CSR

Generates a Certificate Signing Request (CSR), using the PKCS#10 format.

3.2.1            执行命令

keytool -alias httpserver -certreq -file bis_front_client_p10.csr -keystore store.jks

3.2.2            参数声明

-alias 和keystore关联的别名

-certreq

-file p10.txt

-keystore store.jks

3.3 证书服务机构CA签发证书

证书服务机构会使用其拥有的根证书签发CSR文件对应的证书,如openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in bis_front_client_p10.csr -out bis_front_client_p10.csr.crt

或自己制作一个根证书,亦即自己作CA,下面介绍使用自己制作CA根证书的过程

3.3.1            制作根证书

3.3.1.1         创建根证书密钥文件(自己做CA)root.key:

openssl genrsa -des3 -out root.key

3.3.1.2         创建根证书的申请文件root.csr:

openssl req -new -key root.key -out root.csr

3.3.1.3         创建一个自当前日期起为期十年的根证书root.crt:

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey root.key -in root.csr -out root.crt

3.3.2            CA根据CSR签发证书

创建自当前日期起有效期为期两年的服务器证书server.crt:

openssl x509 -req -days 730 -sha1 -extensions v3_req -CA root.crt -CAkey root.key -CAserial root.srl -CAcreateserial -in bis_front_client_p10.csr -out bis_front_client_p10.crt

3.4   生成cer证书

3.4.1            从jks导出cer

keytool -export -alias httpserver -keystore store.jks -file BIS_FRONT_SERVER_STG.cer -storepass Paic1234

       这里导出的证书提供给对端,对端导入其证书库,则对端信任本端

      

3.4.2            参数说明

-alias           证书别名

-keystore     指定密钥库的名称(cacerts是jre中默认的证书库名字,也可以使用其它名字 )

-storepass   指定密钥库的密码

-keypass     指定别名条目的密码

-file        指定导出到文件的文件名

3.5   生成pem证书

3.6   生成rsa秘钥对

使用openssl

3.6.1            生成RSA私钥

genrsa -out rsa_private_key.pem 1024

3.6.2            生成RSA公钥(导出公钥)

rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

3.7   生成jks证书

keytool -genkey -v -keyalg RSA -keysize 1024 -dname "CN=TMS-CORE,OU=深圳有限公司,O=系统开发部,L=深圳,ST=广东,C=CN" -keystore D:\Users\eplusing\Desktop\temp\store.jks -storepass Password1234 -validity 3650

4.       证书应用

5.       证书格式转换

引用:

如何转换证书格式? - 数字证书管理服务 - 阿里云

5.1   cer转jks

5.2   cer格式转JKS

5.2.1            转换方式1

(keytool 为java JDK自带的,可以在bin目录下找到)

       keytool -import -alias mycert -file D:\Users\caopengpeng762\Desktop\证书\EXV_BIS_FRONT_WLTBIS_VIPINTF_001_STG.cer -keystore D:\Users\caopengpeng762\Desktop\证书\mykeystore.jks (导入证书到keystore)

5.2.2            查看证书信息

校验jks证书密钥

       keytool -list -v -keystore D:\Users\caopengpeng762\Desktop\证书\mykeystore.jks

5.3   cer信任证书转pfx

openssl x509 -in BIS_FRONT_PRD.cer -out BIS_FRONT_PRD.pfx

5.4   cer合成pfx

openssl pkcs12 -export -in test_server_16.crt -CAfile CFCA_TEST_OCA1.cer -CAfile CFCA_TEST_OCA1.cer -inkey test_server_16.key -out gdtmp.pfx

5.5   pem转pfx

5.5.1            转换方式1

openssl pkcs12 -export -in bis_front_sdb_stg.pem -out test.pfx

5.5.2            转换方式2

其中需要给PFX设置两次密码,密码要记住的,回头导入到项目需要输入

       openssl pkcs12 -export -out your_pfx_certificate.pfx -inkey laozuo.key -in laozuo.crt

5.5.3            方式3

openssl pkcs12 -nodes -in cacerts.pfx -out cacerts.pem

5.5.4            方式4

openssl pkcs12 -in 81205154511001190.pfx -passin pass:vpos123 -nodes -out 81211174511000190.pem

5.6   pem 转 pkcs7(p7b)

       openssl crl2pkcs7 -nocrl -certfile your_pem_certificate.crt -out your_pkcs7_certificate.p7b

5.7   pfx转pem

5.7.1            方式1

openssl pkcs12 -nodes -in your_pfx_certificate.pfx -out your_pem_certificates_and_key.pem

其中需要提示我们输入PFX证书的密码才可以转。

5.7.2            方式2(带密码)

openssl pkcs12 -nodes -in 81205154511001190.pfx -passin pass:vpos123 -out 81211174511000190.pem

5.7.3            方式3

pfx格式证书转换为pem格式命令:pkcs12 -in 99bill-rsa.pfx -passin pass:生成证书设置的密码 -nodes -out 99bill-rsa.pem

5.8   pkcs7(p7b)转pem

       openssl pkcs7 -print_certs -in your_pkcs7_certificate.p7b -out your_pem_certificates.pem

5.9   pkcs7(p7b) 转 pfx

PKCS7不可以直接转换成PFX,我们需要通过上面的方法先将PKCS7转成PEM,然后PEM转PFX。

openssl pkcs7 -print_certs -in your_pkcs7_certificate.p7b -out your_pem_certificates.pem

openssl pkcs12 -export -out your_pfx_certificate.pfx -inkey your_private.key -in your_pem_certificate.crt

5.10            p8格式私钥转换为pem格式

openssl pkey -in prdMer.key.p8 -inform DER  -out prdMer.key.p8.pem

5.11            查看pem格式的rsa私钥

openssl rsa -in 3895_pingan.private_key_prd.pem -noout -text

5.12            生成不含密码保护的私钥

genrsa -out private-rsa.key 1024

5.13            生成证书

req -new -x509 -key private-rsa.key -days 750 -out public-rsa.cer

5.14            生成PKCS12 格式Keystore

pkcs12 -export -name test-alias -in public-rsa.cer -inkey private-rsa.key -out 99bill-rsa.pfx

【Pfx转pem】

openssl rsa -in server.pem -out ser11.key

openssl pkcs12 -export -in ser111.cer -inkey ser11.key -out agent.p12

Openssl pkey -in privatekey.pem -out privatekey.der-passin pass:1234

#不需要密码

openssl pkcs12 -clcerts -nokeys -out cert.pem -in 开发.p12

openssl pkcs12 -nocerts -out key.pem -in 开发推送.p12

查看证书信息

openssl x509 -inform der -in pageo.cer -out pageo.pem

【查看证书的有效期和证书主题CN】openssl x509 -in 54321543215432191.pem -noout -text

openssl x509 -in 81211174511000190.pem -noout -text

X509转PFX:

openssl pkcs12 -export -inkey test.key -in test.cer -out test.pfx

PFX转X509:

openssl pkcs12 -in test.pfx -nodes -out test.pem

openssl rsa -in test..pem -out test.key

openssl x509 -in test..pem -out test.crt

6.       制作证书

6.1   生产证书申请CSR文件

1.  keytool -genkey -keyalg RSA -keysize 1024 -keystore store.jks

2.  keytool -certreq -file p10.txt -keystore store.jks

7.       自签名pem证书

1. 生成证书库(包含公、私钥、证书):

keytool -genkey -v -keyalg RSA -keysize 1024 -dname "CN=TMS-CORE,OU=深圳有限公司,O=系统开发部,L=深圳,ST=广东,C=CN" -keystore D:\Users\eplusing\Desktop\temp\store.jks -storepass Password1234 -validity 3650

2.导出证书

keytool -export -keystore D:\Users\eplusing\Desktop\temp\store.jks -file D:\Users\eplusing\Desktop\temp\publickey.cer

3.查看证书库中的证书

keytool -list -rfc -keystore D:\Users\eplusing\Desktop\temp\store.jks -storepass Paic1234

4.jks转pfx证书库:

keytool -v -importkeystore -srckeystore D:\Users\eplusing\Desktop\temp\store.jks -srcstoretype jks -srcstorepass Paic1234 -destkeystore D:\Users\caopengpeng762\Desktop\temp\store.pfx -deststoretype pkcs12 -deststorepass Paic1234 -destkeypass Paic1234

5.从pfx导出私钥:

openssl pkcs12 -in store.pfx -nocerts -nodes -out private.key

  

有关证书常用相关知识的更多相关文章

  1. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  2. ruby-on-rails - 相关表上的范围为 "WHERE ... LIKE" - 2

    我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que

  3. 区块链之加解密算法&数字证书 - 2

    目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非

  4. ruby-on-rails - 在具有 ActiveRecord 条件的相关模型中按字段排序 - 2

    我正在尝试按Rails相关模型中的字段进行排序。我研究的所有解决方案都没有解决如果相关模型被另一个参数过滤?元素模型classItem相关模型:classPriority我正在使用where子句检索项目:@items=Item.where('company_id=?andapproved=?',@company.id,true).all我需要按相关表格中的“位置”列进行排序。问题在于,在优先级模型中,一个项目可能会被多家公司列出。因此,这些职位取决于他们拥有的company_id。当我显示项目时,它是针对一个公司的,按公司内的职位排序。完成此任务的正确方法是什么?感谢您的帮助。PS-我

  5. ruby - 我怎样才能更好地了解/了解更多关于 Ruby 的知识? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?

  6. ruby - 使用指向 ruby​​ 可执行文件的符号链接(symbolic link)时查找相关库 - 2

    假设您有一个可执行文件foo.rb,其库bar.rb的布局如下:/bin/foo.rb/lib/bar.rb在foo.rb的header中放置以下要求以在bar.rb中引入功能:requireFile.dirname(__FILE__)+"../lib/bar.rb"只要对foo.rb的所有调用都是直接的,这就可以正常工作。如果你把$HOME/project和符号链接(symboliclink)foo.rb放入$HOME/usr/bin,然后__FILE__解析为$HOME/usr/bin/foo.rb,因此无法找到bar.rb关于foo.rb的目录名.我意识到像ruby​​gems这

  7. 电脑怎么截图?进来看(8种常用截图方法) - 2

    电脑上可以截取图片吗?如果可以,该如何操作呢?相信很多小伙伴都只知道一两种截图的方式,知道的并不全面。其实,电脑上有多种方式截图的,而且非常方便。电脑怎么截图?今天我们就来教大家如何使用电脑截取图片的8种常用方式!操作环境:演示机型:Delloptiplex7050系统版本:Windows10方法一:系统自带截图具体操作:同时按下电脑的自带截图键【Windows+shift+S】,可以选择其中一种方式来截取图片:截屏有矩形截屏、任意形状截屏、窗口截屏和全屏截图。 方法二:QQ截图具体操作:在电脑登录QQ,然后同时按下【Ctrl+Alt+A】,可以任意截图你需要的界面,可以把截图的页面直接下载,

  8. HarmonyOS原子化服务开发相关术语 - 2

    术语中文解释Ability原子化服务帮助用户完成任务的原子化服务,和用户的意图进行关联。Fulfillment服务履行通过图标,卡片,语音等形式呈现用户意图。开发者通过接口的方式,处理用户意图,返回内容。Intent意图用于表达用户想要达成的目标或完成的任务。HUAWEIAssistant智能助手“无微不智”的个人助手,通过不断的学习用户的使用习惯,不断的为用户提供贴心的精准的便捷的个性化服务。AISearch全局搜索用户可快速搜索关键词,与之匹配的原子化服务则会出现在搜索结果中。SmartService智慧服务用户订阅原子化服务,在到达特定触发条件(时间、地点、事件)后,卡片推送至用户智能助

  9. H2数据库配置及相关使用方式一站式介绍(极为详细并整理官方文档) - 2

    目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式

  10. ruby - 如何获得带有 SSL 客户端证书的 HTTPS 请求以与 Ruby EventMachine 一起使用? - 2

    我正在尝试使用RubyEventMachine访问使用SSL证书身份验证的HTTPSWeb服务,但我没有让它工作。我编写了以下简单代码块来对其进行端到端测试:require'rubygems'require'em-http'EventMachine.rundourl='https://foobar.com/'ssl_opts={:private_key_file=>'/tmp/private.key',:cert_chain_file=>'/tmp/ca.pem',:verify_peer=>false}http=EventMachine::HttpRequest.new(url).g

随机推荐