首页> 搜索结果页
"keystore导入证书" 检索
共 153 条结果
服务器证书安装配置指南(Tomcat 6)
一、   生成证书请求  1.  安装JDK安装Tomcat需要JDK支持。如果您还没有JDK的安装,则可以参考Java SE Development Kit (JDK) 下载。下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html2.  生成keystore文件生成密钥库文件keystore.jks需要使用JDK的keytool工具。命令行进入JDK或JRE下的bin目录,运行keytool命令(示例中粗体部分为可自定义部分,请根据实际配置情况作相应调整)。keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore keystore.jks -storepasspassword -keypass password以上命令中,server为私钥别名(-alias),生成的keystore.jks文件默认放在命令行当前路径下。3.  生成证书请求文件(CSR)keytool -certreq -alias server -sigalg SHA1withRSA -file certreq.csr -keystore C:\keystore.jks -keypasspassword -storepass password备份密钥库文件keystore.jks,并稍后提交证书请求文件certreq.csr,等待证书签发。密钥库文件keystore.jks丢失将导致证书不可用。二、  导入服务器证书1.  获取服务器证书中级CA证书为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级CA证书(不同品牌证书,可能只有一张中级证书)。从邮件中获取中级CA证书:将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)分别粘贴到记事本等文本编辑器中,并修改文件扩展名,保存为intermediate1.cer和intermediate2.cer文件。   2.  获取服务器证书将证书签发邮件中的从BEGIN到 END结束的服务器证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到记事本等文本编辑器中,并修改文件扩展名,保存为server.cer文件3.  查看Keystore文件内容进入JDK安装目录下的bin目录,运行keytool命令。keytool -list -keystore keystore.jks -storepass password查询到PrivateKeyEntry属性的私钥别名(alias)为server。记住该别名,在稍后导入服务器证书时需要用到(示例中粗体部分为可自定义部分,请根据实际配置情况作相应调整)。注意,导入证书时,一定要使用生成证书请求文件时生成的keystore.jks文件。keystore.jks文件丢失或生成新的keystore.jks文件,都将无法正确导入您的服务器证书。4.  导入证书(如果只有一张中级证书,则只需要导入一张中级证书)导入第一张中级CA证书keytool -import -alias intermediate1 -keystore keystore.jks -trustcacerts -storepasspassword -file intermediate1.cer导入第二张中级CA证书keytool -import -alias intermediate2 -keystore keystore.jks -trustcacerts -storepasspassword -file intermediate2.cer导入服务器证书keytool -import -alias server -keystore C:\keystore.jks -trustcacerts -storepasspassword -file server.cer导入服务器证书时,服务器证书的别名必须和私钥别名一致。请留意导入中级CA证书和导入服务器证书时的提示信息,如果您在导入服务器证书时使用的别名与私钥别名不一致,将提示“认证已添加至keystore中”而不是应有的“认证回复已安装在keystore中”。证书导入完成,运行keystool命令,再次查看keystore文件内容keytool -list -keystore keystore.jks -storepass password    三、  安装服务器证书1.  单向认证的配置复制已正确导入认证回复的keystore.jks文件到Tomcat安装目录下的conf目录。打开conf目录下的server.xml文件,找到并修改以下内容    <!--    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"               maxThreads="150" scheme="https" secure="true"               clientAuth="false" sslProtocol="TLS" />SSL访问端口    -->修改为    <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"               maxThreads="150" scheme="https" secure="true"               keystoreFile="conf\keystore.jks" keystorePass="password"               clientAuth="false" sslProtocol="TLS" />默认的SSL访问端口号为443,如果使用其他端口号,则您需要使用https://yourdomain:port的方式来访问您的站点。2.  双向认证的配置配置双向认证时,您还需要指定客户端认证的信任库文件。客户端认证信任库文件(truststoreFile)可以和服务器证书密钥库文件(keystoreFile)为同一个文件,也可以进行独立配置。示例中使用相同的密钥库文件。您需要首先将客户端认证的根证书以及中级CA证书导入到客户端认证信任库。    <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"               maxThreads="150" scheme="https" secure="true"               keystoreFile="conf\keystore.jks" keystorePass="password"               truststoreFile="conf\keystore.jks" truststorePass="password"               clientAuth="true" sslProtocol="TLS" />3.  访问测试重启Tomcat,访问https://youdomain:port,测试证书的安装。 Linux 操作一样步骤一样。
文章
Java  ·  应用服务中间件
2014-04-18
使用keytool管理数字证书
keytool是Java的数字证书管理工具,用于数字证书的生成,导入,导出与撤销等操作。它与本地密钥库关联,并可以对本地密钥库进行管理,可以将私钥存放于密钥库中,而公钥使用数字证书进行输出。keytool在jdk安装目录的bin文件夹下: 构建自签名证书 在构建CSR之前,需要先在密钥库中生成本地数字证书,此时需要提供用户的身份、加密算法、有效期等一些数字证书的基本信息: ? 1 2 keytool -genkeypair -keyalg RSA -keysize 1024 -sigalg MD5withRSA \ -validity 365 -alias www.mydomain.com -keystore ~/my.keystore 参数介绍: -genkeypair——产生密钥对 -keyalg——指定加密算法 -keysize——指定密钥长度 -sigalg——指定签名算法 -validity——证书有效期 -alias——证书别名 -keystore——指定密钥库的位置 执行结果: 证书导出 执行了上面的命令后,我们已经生成了一个本地数字证书,虽然还没有经过证书认证机构进行认证,但并不影响使用,我们可以使用相应的命令对证书进行导出。 ? 1 2 keytool -exportcert -alias  \  -keystore ~/my.keystore -file /tmp/my.cer -rfc 参数介绍: -exportcert——执行证书导出 -alias——密钥库中的证书别名 -keystore——指定密钥库文件 -file——导出的文件输出路径 -rfc——使用Base64格式输出 执行结果: 证书导出后,可以使用打印证书命令查看证书内容: ? 1 keytool -printcert -file /tmp/my.cer 参数介绍: -printcert——执行证书打印命令 -file——指定证书文件路径 执行结果: 导出CSR文件 如果想得到证书认证机构的认证,需要导出数字证书并签发申请(Cerificate Signing Request),经证书认证机构认证并颁发后,再将认证后的证书导入本地密钥库与信任库。 导出CSR文件命令: ? 1 2 keytool -certreq -alias  \   -keystore ~/my.keystore -file /tmp/my.csr -v 参数介绍: -certreq——执行证书签发申请导出操作 -alias——证书的别名 -keystore——使用的密钥库文件 -file——输出的csr文件路径 -v——显示详细情况 执行结果: 导出CSR文件后,便可以到VeriSign、GeoTrust等权威机构进行证书认证了。 证书导入 获得证书认证机构办法的数字证书后,需要将其导入信任库。 导入数字证书的命令: ? 1 2 keytool -importcert -trustcacerts -alias www.mydomain.com \ -file /tmp/my.cer -keystore ~/my.keystore 参数介绍: -importcert——执行导入证书操作 -trustcacerts——将证书导入信任库 -alias——证书别名 -file——要导入的证书文件的路径 -keystore——指定密钥库文件 导入证书成功后,可以通过list命令来查看密钥库中的证书: ? 1 keytool -list -alias www.mydomain.com -keystore ~/my.keystore 执行结果如下:
文章
算法  ·  Java
2016-05-09
kafka SSL证书生成及配置
apache kafka可以使用SSL加密连接,还可以限制客户端访问, 给客户端发行证书,只允许持有证书的客户端访问。 下面使用jdk的keytool工具来生成证书,配置kafka。 为了便于演示,ca和服务器证书使用相同的密码,如下: KSPASS=xxxx 客户端证书密码如下: CLIENT_PASS=yyyy 自签名ca证书 # 生成 keytool -genkeypair -keystore mycastore.jks -storepass ${KSPASS} -alias myca -validity 365 -dname CN=ca,C=cn -ext bc:c #(注意有效天数。默认是90天。) # 导出 keytool -exportcert -keystore mycastore.jks -storepass ${KSPASS} -alias myca -rfc -file myca.cer # 查看 keytool -list -keystore mycastore.jks -storepass ${KSPASS} keytool -printcert -file myca.cer 服务器证书 # 生成 keytool -genkeypair -keystore server.keystore.jks -storepass ${KSPASS} -alias server -keypass ${KSPASS} -validity 365 -dname CN=127.0.0.1,C=cn # 生成证书请求 keytool -certreq -keystore server.keystore.jks -storepass ${KSPASS} -alias server -keypass ${KSPASS} -file server.csr # ca签名 keytool -gencert -keystore mycastore.jks -storepass ${KSPASS} -alias myca -keypass ${KSPASS} -validity 365 -infile server.csr -outfile server.cer # 查看 keytool -printcert -file server.cer # 导入ca证书,生成truststore keytool -importcert -keystore server.truststore.jks -storepass ${KSPASS} -alias myca -keypass ${KSPASS} -file myca.cer # 导入ca证书到keystore keytool -importcert -keystore server.keystore.jks -storepass ${KSPASS} -alias myca -keypass ${KSPASS} -file myca.cer # 导入server证书到keystore keytool -importcert -keystore server.keystore.jks -storepass ${KSPASS} -alias server -keypass ${KSPASS} -file server.cer 客户端证书 # 生成 keytool -genkeypair -keystore client1.keystore.jks -storepass ${CLIENT_PASS} -alias client1 -keypass ${CLIENT_PASS} -validity 365 -dname CN=client1,C=cn # 生成证书请求 keytool -certreq -keystore client1.keystore.jks -storepass ${CLIENT_PASS} -alias client1 -keypass ${CLIENT_PASS} -file client1.csr # ca签名 keytool -gencert -keystore mycastore.jks -storepass ${KSPASS} -alias myca -keypass ${KSPASS} -validity 365 -infile client1.csr -outfile client1.cer # 查看 keytool -printcert -file client1.cer # 导入ca证书,生成truststore keytool -importcert -keystore client1.truststore.jks -storepass ${CLIENT_PASS} -alias myca -keypass ${CLIENT_PASS} -file myca.cer # 导入ca证书到keystore keytool -importcert -keystore client1.keystore.jks -storepass ${CLIENT_PASS} -alias myca -keypass ${CLIENT_PASS} -file myca.cer # 导入server证书到keystore keytool -importcert -keystore client1.keystore.jks -storepass ${CLIENT_PASS} -alias client1 -keypass ${CLIENT_PASS} -file client1.cer kafka broker配置 (内网使用9092端口明文,外网使用9093端口SSL) ssl.keystore.location=server.keystore.jks ssl.keystore.password=xxx ssl.key.password=xxx ssl.truststore.location=server.truststore.jks ssl.truststore.password=xxx ssl.client.auth=required listeners=PLAINTEXT://0.0.0.0:9092,SSL://:9093 advertised.listeners=PLAINTEXT://10.1.1.1:9092,SSL://x.x.x.x:9093 producer配置 bootstrap.servers=x.x.x.x:9093 ssl.protocol=SSL security.protocol=SSL ssl.keystore.location=client1.keystore.jks ssl.keystore.password=xxx ssl.key.password=xxx ssl.truststore.location=client1.truststore.jks ssl.truststore.password=xxx
文章
消息中间件  ·  Kafka  ·  网络安全  ·  数据安全/隐私保护  ·  Java  ·  Apache
2017-08-15
cas 服务端和客户端证书配置(详细)
证书的配置 主要分为两大步:服务端生成配置证书,应用端导入证书。 SSO服务端 生成keystore, 此文件用于tomcat/conf/server.xml中配置及导出证书; keytool -genkey -keyalg RSA -alias mlongbosso -dname "cn=passport.mlongbo.com" -keystore /home/ndoc/test/cas/mlongbosso.keystore -storepass 123654 说明:指定使用RSA算法,生成别名为mlongbosso的证书,口令为123654,证书的DN为"cn=passport.mlongbo.com" ,这个DN必须同当前主机完整名称一致!!)    导出mlongbosso.crt证书 keytool -export -alias mlongbosso -file /home/ndoc/test/cas/mlongbosso.crt -keystore /home/ndoc/test/cas/mlongbosso.keystore -storepass 123654 (注释:从mlongbosso.keystore中导出别名为mlongbosso的证书,生成文件mlongbosso.crt)   3. 配置Tomcat的HTTPS服务  keystoreFile属性值为mlongbosso.keystore文件路径, keystorePass属性值为证书存贮口令 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/home/ndoc/test/cas/mlongbosso.keystore" keystorePass="123654" />    应用端 应用端即SSO客户端. 注释: Windows下为%JAVA_HOME% , Linux下为$JAVA_HOME 将mlongbosso.crt导入到应用服务器所使用的jre的可信任证书仓库中 keytool -import -alias mlongbosso -file /home/ndoc/test/cas/mlongbosso.crt -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass 123654    列出jre可信任证书仓库中证书名单,验证导入是否成功,如果导入成功,应该在列表中能找到mlongbosso这个别名 keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass 123654    注意:如果此处导入失败,或者要重新导入,需要先删除%JAVA_HOME%/jre/lib/security/cacerts文件(删除前请备份)   keytool -genkey -keyalg RSA -alias mlongbosso -dname "cn=passport.mlongbo.com" -keystore /home/ndoc/test/cas/mlongbosso.keystore -storepass 123654 转自:作者:空谷幽兰链接:http://www.jianshu.com/p/a1fa19d4ec75來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
文章
安全  ·  Java  ·  应用服务中间件  ·  算法  ·  Linux  ·  Windows
2017-11-30
使用keytool 生成证书
keytool 简介 keytool 是java 用于管理密钥和证书的工具,官方文档其功能包括: 创建并管理密钥 创建并管理证书 作为CA 为证书授权 导入导出证书 主要格式keytool 采用 keystore 文件来存储密钥及证书,其中可包括私钥、信任证书;keystore 文件主要使用 JKS格式(也可支持其他格式),带密钥存储;其中私钥的存储也有独立的密码;其他格式 一、生成私钥和证书 keytool -genkeypair -alias serverkey -keystore server.keystore 按提示 输入keystore 存储密码、私钥密码、个人信息,之后会生成 server.keystore文件若不想输入参数,可提供参数: keytool -genkeypair -alias serverkey -keypass 111111 -storepass 111111 \ -dname "C=CN,ST=GD,L=SZ,O=vihoo,OU=dev,CN=vihoo.com" \ -keyalg RSA -keysize 2048 -validity 3650 -keystore server.keystore 参数说明 storepass keystore 文件存储密码 keypass 私钥加解密密码 alias 实体别名(包括证书私钥) dname 证书个人信息 keyalt 采用公钥算法,默认是DSA keysize 密钥长度(DSA算法对应的默认算法是sha1withDSA,不支持2048长度,此时需指定RSA) validity 有效期 keystore 指定keystore文件 二、查看keystore详情 查看详情命令 keytool -list -keystore -storepass 111111 server.keystore 输出结果 Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry serverkey, Sep 25, 2016, PrivateKeyEntry, Certificate fingerprint (SHA1): 65:75:C9:08:A0:83:21:A1:D7:8D:DA:CD:3D:FB:C2:E0:50:96:29:62 加上-v选项可查看更详细信息 Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry Alias name: serverkey Creation date: Jul 22, 2017 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: C=CN, ST=GD, L=SZ, O=vihoo, OU=dev, CN=vihoo.com Issuer: C=CN, ST=GD, L=SZ, O=vihoo, OU=dev, CN=vihoo.com Serial number: 5c5eb42 Valid from: Sat Jul 22 10:45:45 CST 2017 until: Tue Jul 20 10:45:45 CST 2027 Certificate fingerprints: MD5: 27:ED:70:EF:4C:E3:7F:ED:6A:83:67:32:6D:10:24:38 SHA1: 79:08:97:6E:62:EE:0F:E6:81:56:66:43:9C:9D:A4:11:EF:CC:28:0C SHA256: 3B:AC:56:8E:60:C2:C8:07:61:19:C7:4A:D3:AF:1F:60:77:24:94:7C:87:6E:C8:E7:17:14:E4:7A:34:0A:CD:8F Signature algorithm name: SHA256withRSA Version: 3 Extensions: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: B4 10 A9 26 5D 6C 4C 46 B4 69 ED 31 2B 20 D1 F4 ...&]lLF.i.1+ .. 0010: 58 3C 8F 94 X<.. ] ]   三、证书导入导出 导出证书 keytool -exportcert -keystore server.keystore -file server.cer -alias serverkey -storepass 111111 参数说明 exportcert 表示导出证书 alias 指示别名 file 指示导出文件 storepass 指示keystore密钥 此时导出的证书为DER编码格式,使用openssl 可以输出 openssl x509 -in server.cer -inform der -noout -text 加上 -rfc选项,可输出PEM编码格式的证书 keytool -exportcert -keystore server.keystore -rfc -file server.cer -alias serverkey -storepass 111111 输出格式如: -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIEBcXrQjANBgkqhkiG9w0BAQsFADBZMRIwEAYDVQQDEwl2 ... -----END CERTIFICATE----- 导入证书一般为导入信任证书(SSL客户端使用) keytool -importcert -keystore client_trust.keystore -file server.cer -alias client_trust_server -storepass 111111 -noprompt 参数说明 importcert 表示导入信任证书 file 指示导入证书,支持pem/der格式 keystore 指示目标keystore文件 storepass 指示新的keystore密钥 alias 指示trust证书在keystore中的别名 noprompt 指示不弹出提示 导入后的证书为 trustedCertEntry 实体类型,而私钥证书为 PrivateKeyEntry 四、查看证书 打印证书 keytool -printcert -file server.cer 输出 Owner: CN=ZZ, OU=DEV, O=pp.com, L=GZ, ST=GD, C=CN Issuer: CN=ZZ, OU=DEV, O=pp.com, L=GZ, ST=GD, C=CN Serial number: 797f3140 Valid from: Sun Sep 25 16:43:55 CST 2016 until: Sat Dec 24 16:43:55 CST 2016 Certificate fingerprints: MD5: FB:7D:29:4C:A9:F3:07:0E:CC:74:0D:9B:D4:D6:4D:91 SHA1: 65:75:C9:08:A0:83:21:A1:D7:8D:DA:CD:3D:FB:C2:E0:50:96:29:62 SHA256: E9:8B:A5:43:5F:40:FA:C5:64:3B:0A:11:1D:BE:D1:07:3C:A1:E2:50:88:71:A7:5C:EC:43:22:98:1B:AA:B6:EB Signature algorithm name: SHA1withDSA Version: 3 Extensions: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 0E C3 62 D3 75 3A 3C B7 D9 C4 BD 8E 63 E7 6C EC ..b.u:<.....c.l. 0010: AF 8A 29 72 ..)r ] ]   五、转换格式 jks格式 转 pkcs12 keytool -importkeystore -srckeystore server.keystore -destkeystore server.p12 -srcalias serverkey -destalias serverkey \ -srcstoretype jks -deststoretype pkcs12 -srcstorepass 111111 -deststorepass 111111 -noprompt 参数说明 importkeystore 指示导入导出keystore文件,可用于同类型或不同类型的导入导出 srckeystore 指示源keystore文件 srcalias 指示源实体别名 srcstoretype 指示源store类型(jks/pkcs12..) srcstorepass 指示源store密码 noprompt 不弹出提示 pkcs12 转jks格式与此同理 六、场景示例 1. 制作Java SSL 双向证书 storepass=111111 keypass=111111 server_dname="C=CN,ST=GD,L=SZ,O=vihoo,OU=dev,CN=vihoo.com" client_dname="C=CN,ST=GD,L=SZ,O=vihoo,OU=dev,CN=vihooc.com" echo "generate server keystore" keytool -genkeypair -alias serverkey -keypass $keypass -storepass $storepass \ -dname $server_dname \ -keyalg RSA -keysize 2048 -validity 3650 -keystore server.keystore echo "generate client keystore" keytool -genkeypair -alias clientkey -keypass $keypass -storepass $storepass \ -dname $client_dname \ -keyalg RSA -keysize 2048 -validity 3650 -keystore client.keystore echo "export server certificate" keytool -exportcert -keystore server.keystore -file server.cer -alias serverkey -storepass $storepass echo "export client certificate" keytool -exportcert -keystore client.keystore -file client.cer -alias clientkey -storepass $storepass echo "add server cert to client trust keystore" keytool -importcert -keystore client_trust.keystore -file server.cer -alias client_trust_server \ -storepass $storepass -noprompt echo "add client cert to server trust keystore" keytool -importcert -keystore server_trust.keystore -file client.cer -alias server_trust_client \ -storepass $storepass -noprompt   2. Java 证书与 nginx 证书互转 Java通常使用JKS作为证书存储格式,而Nginx往往采用PEM证书格式,如何实现互转? Nginx 证书 转 JKS A pem证书和私钥合成p12 openssl pkcs12 -export -in server.crt -inkey server.key -passin pass:111111 -password pass:111111 \ -name server -out server.p12 注意定义-name 选项,这将作为keystore识别实体的参数 B p12 证书转jks 证书 keytool -importkeystore -srckeystore server.p12 -destkeystore server.keystore \ -srcstoretype pkcs12 -deststoretype jks -srcalias server -destalias server \ -deststorepass 111111 -srcstorepass 111111 如果p12 文件中未指定实体名称,使用keytool转换时则不需提供srcalias/destalias参数,而输出的keystore实体名称默认为1 JKS 证书 转 Nginx证书 A jks 证书转p12 keytool -importkeystore -srckeystore server.keystore -destkeystore server.p12 \ -srcstoretype jks -deststoretype pkcs12 -srcalias server -destalias server \ -deststorepass 111111 -srcstorepass 111111 B p12 证书提取pem证书和私钥 openssl pkcs12 -in server.p12 -clcerts -nokeys -password pass:111111 -out server.crt openssl pkcs12 -in server.p12 -nocerts -password pass:111111 -passout pass:111111 -out server.key 其中得到的私钥文件为PKCS#8 加密格式,证书和密钥均为PEM文件编码。 3. 其他 已有的Nginx证书,如何快速在Java中添加信任 通过keytool -importcert 命令可直接导入信任证书 keytool 通用格式为 jks,如何获取私钥通过程序读取,参考stackoverflowJavaSE样例 作者: zale 出处: http://www.cnblogs.com/littleatp/, 如果喜欢我的文章,请关注我的公众号 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文链接  如有问题, 可留言咨询.
文章
存储  ·  算法  ·  Java  ·  应用服务中间件  ·  数据安全/隐私保护  ·  nginx  ·  网络安全  ·  文件存储
2016-10-26
Android/Ophone应用程序数字签名
前两天搞了个应用到MM上去,结果与测试通不过,原因是“应用程序证书有效期不足1年”,结果才发现,上传的应用程序忘记签名了。 为Android/Ophone应用程序签名步骤: 1.确保电脑上安装了JDK,因为我们将使用JDK自带的创建和管理数字证书的工具Keytool。在命令行下输入如下命令: keytool -genkey -v -keystore ophone.keystore -alias ophone -keyalg RSA -validity 20000  该命令中,-keystore ophone.keystore 表示生成的证书,可以加上路径(默认在用户主目录下);-alias ophone 表示证书的别名是ophone;-keyalg RSA 表示采用的RSA算法;-validity 20000表示证书的有效期是20000天。回车 ======================================== 输入keystore密码:[密码不显示] 再次输入新密码:[密码不显示] 您的名字与姓氏是什么?    [Unknown]:   yang 您的组织单位名称是什么?    [Unknown]:   yarin 您的组织名称是什么?    [Unknown]:   yarin 您的组织名称是什么?    [Unknown]:   yarin 您所在的城市或区域名称是什么?    [Unknown]:   Chengdu  您所在的州或省份名称是什么?    [Unknown]:   Sichuan 该单位的两字母国家代码是什么?   [Unknown]:   CN CN=yarin, OU=yang, O=yarin, L=Chengdu, ST=Sichuan, C=CN  正确吗?    [否]:   Y  输入<ophonesdn.keystore>的主密码          (如果和 keystore 密码相同,按回车): 正在存储证书... 完成 ======================================== 此时,我们会在互用主目录下看到ophone.keystore,即我们刚刚创建的证书。 2.给应用程序(apk)签名,在EC中,右键单击应用程序工程,如图选择 如果是Android则选择“Android Tools”...... 然后选择证书的存放路径,填写相关资料,完成,即可生成被签名的apk文件。如下图所示: 如上图所示,我们可以看到也可以在这里选择”Create new keystore“来创建一个证书。输入密码,点击下一步,填写相关信息,如下图所示。 需要注意,这里的证书有效期只能填写1-1000天。图形界面,还更简单了。呵呵... 顺便找了点keytool的资料。 附: JDK中keytool常用命令 -genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个别名,证书中包含用户的公钥、私钥和证书 -alias           产生别名 -keystore    指定密钥库的名称(产生的各类信息将不在.keystore文件中) -keyalg       指定密钥的算法    -validity      指定创建的证书有效期多少天 -keysize     指定密钥长度 -storepass   指定密钥库的密码 -keypass     指定别名条目的密码 -dname       指定证书拥有者信息 例如:  "CN=sagely,OU=atr,O=szu,L=sz,ST=gd,C=cn" -list        显示密钥库中的证书信息      keytool -list -v -keystore sage -storepass .... -v           显示密钥库中的证书详细信息 -export      将别名指定的证书导出到文件  keytool -export -alias caroot -file caroot.crt -file        参数指定导出到文件的文件名 -delete      删除密钥库中某条目          keytool -delete -alias sage -keystore sage -keypasswd   修改密钥库中指定条目口令    keytool -keypasswd -alias sage -keypass .... -new .... -storepass ... -keystore sage -import      将已签名数字证书导入密钥库  keytool -import -alias sage -keystore sagely -file sagely.crt              导入已签名数字证书用keytool -list -v 以后可以明显发现多了认证链长度,并且把整个CA链全部打印出来。 1.证书的显示 -list [-v | -rfc] [-alias <alias>] [-keystore <keystore>] [-storepass <storepass>] [-storetype <storetype>] [-provider <provider_class_name>] 例如:keytool -list -v -alias RapaServer -keystore cacerts -storepass 12345678 keytool -list -v -keystore d2aapplet.keystore -storepass 12345678 -storetype IAIKKeystore 2.将证书导出到证书文件 例如:keytool -export -keystore monitor.keystore -alias monitor -file monitor.cer 将把证书库 monitor.keystore 中的别名为 monitor 的证书导出到 monitor.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。 keytool -export -keystore d2aApplet.keystore -alias RapaServer -file Rapa.cert -storetype IAIKKeystore 3.将keystore导入证书中 这里向Java默认的证书 cacerts导入Rapa.cert keytool -import -alias RapaServer -keystore cacerts -file Rapa.cert -keystore cacerts 4.证书条目的删除 keytool的命令行参数 -delete 可以删除密钥库中的条目,如: keytool -delete -alias RapaServer -keystore d2aApplet.keystore ,这条命令将 d2aApplet.keystore 中的 RapaServer 这一条证书删除了。 5.证书条目口令的修改 使用 -keypasswd 参数,如:keytool -keypasswd -alias RapaServer -keystore d2aApplet.keystore,可以以交互的方式修改 d2aApplet.keystore证书库中的条目为 RapaServer 的证书。 Keytool -keypasswd -alias RapaServer -keypass 654321 -new 123456 -storepass 888888 -keystore d2aApplet.keystore这一行命令以非交互式的方式修改库中别名为 RapaServer 的证书的密码为新密码 654321,行中的 123456 是指该条证书的原密码, 888888 是指证书库的密码。 本文转自 yarin 51CTO博客,原文链接:http://blog.51cto.com/yarin/381935,如需转载请自行联系原作者
文章
Java  ·  Android开发  ·  数据安全/隐私保护  ·  Python
2017-11-22
【翻译】Java Keystore Tutorial
(技术小白,如有错误请指出。) 原文地址:http://www.javacodegeeks.com/2014/07/java-keystore-tutorial.html 目录 Introduction --简介 SSL and how it works --SSL的原理 Private Keys --私钥 Public Certificates --公证书 Root Certificates --根证书 Certificate Authorities --证书授权机构 Certificate Chain --证书链 Keystore using Java keytool --使用Java keytool Keystore Commands --Keystore常用命令 Configure SSL using Keystores and Self Signed Certificates on Apache Tomcat --keystore实践·在tomcat上配置使用keystores和自认证证书的SSL 简介 我们都会在ebay、亚马逊上买东西,或者登录网银。你认为这些网站足够安全吗?敢把自己的个人信息(比如信用卡账号、银行账号)放在这些网站上吗? 大部分这类网站都使用SSL协议去保障互联网应用的安全。浏览器之类的客户端发送出的数据,SSL会先加密再传输,这样网络上的监听者无法破译这些数据。 很多java应用服务器和网站服务器都支持使用keystore来配置SSL。如果你正要写安全的java程序,学会使用keystore是第一步。 SSL的原理 基于HTTP协议的SSL连接,通常是通过访问https://开头(而不是http://开头)的网址来建立的。SSL连接的开始会执行一次SSL握手,这次握手生成了这次连接的加密变量。下图是SSL握手的简要过程: 简单地说是这么工作的: 浏览器访问安全页面(通常通过https://) 网页服务器发送带证书的公钥。 浏览器检查证书是否为可信任组织发布(通常是可信的根认证机构),证书是否过期,证书是否和当前网站绑定。 然后浏览器使用公钥加密一个随机对称私钥,然后和其他加密的http数据一起通过加密的URL网址发送给服务器。 服务器用自己的私钥解密对称密钥,然后使用对称密钥去解密URL网址和http数据。 服务器使用对称密钥把客户端请求的html文档和http数据都加密之后发送回客户端。 浏览器使用对称密钥解密http数据和html文档然后展现信息。 核心来说,SSL使用三种证书:公钥,私钥(也叫公证书或站点证书),和根证书。 私钥 私钥包含服务器的身份信息和密钥值。私钥用于握手时的散列算法,并通过密码来保证其安全和被保护。它也可以用来解密网络上的数据来获取个人信息。它就要插在钥匙孔里的大门钥匙。 公证书 公证书(公钥)是发送给客户端的一部分,就像你在机场使用的个人护照。和私钥紧密绑定在一起的公证书是私钥通过证书签名请求(CSR)创建的。先创建私钥,然后创建证书签名请求并发送给认证机构(CA),认证机构然后返回包含服务器身份和验证机构信息的已签名的证书。 根证书 根CA证书是一种自签名的CA证书。这个证书表明了发布证书的实体,比如类似于VeriSign、Thawte的认证机构(CA)。 证书授权机构 证书授权机构(CA)就是类似于VeriSign、Thawte、Commodo、GetTrust这类公司。实际上很多公司和组织都是自己的证书授权机构,比如从零开始建立完整的实施方案,或者使用开源的工具,比如OpenSSL。 证书链 当一个服务器和客户端建立了一次SSL通信,服务器就发送了一个证书给客户端,客户端需要决定是否信任该证书。这个过程被称为证书链。客户端检查该证书的发布方,在可信根证书列表中搜索该证书,然后对比可信证书列表和该证书的发布方是否一致。 如果在可信证书列表里发现了匹配,那么这次通信连接就建立了。如果没有发现,那么浏览器会弹出一个对话框,警告你这是不可信的证书,并询问你是否要继续信任该证书。 使用Java keytool Java Keytool是一个密钥和证书的管理工具。用户可以使用它来管理自己的公钥/私钥对和证书。Java Keytool在keystore里储存密钥和证书,并使用密码来保护私钥。 每个Java Keystore里的证书都和一个唯一别名绑定。生成Java Keystore时,你需要先创建只包含私钥的.jks文件,然后通过创建一次证书签名请求(CSR)来创建公钥。你可以把证书(包含任何根证书)导入到keystore里。 Keystore常用命令 创建密钥库、密钥和证书请求 创建密钥库和一对密钥 keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -storepass password 给已存在的密钥库创建证书签名请求(CSR) keytool -certreq -alias mydomain -keystore keystore.jks -storepass password -filemydomain.csr 生成密钥库和自认证证书 keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 导入证书 往密钥库中导入一个跟证书或中间CA证书 keytool -import -trustcacerts -alias root -file Thawte.crt -keystore keystore.jks -storepass password 往密钥库中导入已签名的主证书 keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore keystore.jks -storepass password 导出证书 从密钥库中导出证书 keytool -export -alias mydomain -file mydomain.crt -keystore keystore.jks -storepass password 查看证书 查看单独的证书 keytool -printcert -v -file mydomain.crt 查看密钥库中的证书 keytool -list -v -keystore keystore.jks -storepass password 通过别名查看特定的密钥库实例 keytool -list -v -keystore keystore.jks -storepass password -alias mydomain 删除证书 从密钥库中删除证书 keytool -delete -alias mydomain -keystore keystore.jks -storepass password 修改密码 修改密钥库的密码 keytool -storepasswd -new new_storepass -keystore keystore.jks -storepass password 修改私钥密码 keytool -keypasswd -alias client -keypass old_password -new new_password -keystore client.jks -storepass password keystore实践--在tomcat上配置使用keystores和自认证证书的SSL 创建新的密钥库和自签名的证书。使用以下命令,你会需要输入具体的信息,比如用户名,机构名,公司和位置等。 keytool -genkey -alias tomcat -keyalg RSA -keystore /home/ashraf/Desktop/JavaCodeGeek/keystore.jks -validity 360 使用以下命令列出你所创建的证书细节。 keytool -list -keystore /home/ashraf/Desktop/JavaCodeGeek/keystore.jks 下载tomcat 7 配置tomcat使其支持SSL或https连接。在Tomcat\conf\server.xml中加入connector element。 点proceed anyway。5. 启动tomcat并访问https://localhost:8443/,你会发现浏览器会显示如下图所示的错误信息。对于电商而言,这样的错误信息会导致安全的缺乏并造成大量用户的丧失,因为你所使用的证书并非由Thawte或Verisign这样的认证机构所颁布的。 ================================================= 部分评论: 问:Very interesting article - would it be possible to share an image which explains / shows a mutual authentication? In other words, steps when a server has to validate clients as well. 答:Just, take a look on this image which explains the mutual authentication. http://examples.javacodegeeks.com/wp-content/uploads/2014/08/mutualssl.png 问:Nice article! I would like to indicate the tool kse (keyStore explorer) at sourceforge. Not affiliate in any way but it sure makes it easier to understand the concepts since the GUI hides the command line, intimidating at first for some. Nothing wrong with command line , I use myself everyday and should be the preferred way in a production server, but a GUI helps while one is not familiar with the concepts. 答:Kudos for your addition, It's a good idea to use the GUI tool specially for beginners.
文章
新零售  ·  Web App开发  ·  安全  ·  Java  ·  数据安全/隐私保护
2015-07-14
CAS单点登录2--证书生成
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/55049446 生成证书    证书对于实现此单点登录非常之重要,证书是服务器端和客户端安全通信的凭证,本教程只是演示,所有用了 JDK自带的证书生成工具keytool。当然在实际项目中你可以到专门的证书认证中心购买证书。 中文官方网站:http://www.verisign.com/cn/ 1、用JDK自带的keytool生成证书 命令:keytool -genkey -alias smalllove -keyalg RSA -keystore D:/keys/smallkey  c此命令是生成一个证书,其中 smalllove 是证书别名    此命令的执行如图所示:                        其中名字与姓氏这一最好写你的 域名,在C:\Windows\System32\drivers\etc\hosts文件中映射一个虚拟域名,127.0.0.1 sso..com      注意不要写IP。    2、导出证书 cop  命令:C:\>keytool -export -file d:/keys/small.crt -alias smalllove -keystore d:/keys/smallkey    如图:                           密码为上步设置的密码。   3、把证书导入到客户端JDK中。  <a data-cke-saved-href="http://blog.csdn.net/small_love/article/details/6664831#" href="http://blog.csdn.net/small_love/article/details/6664831#" class="CopyToClipboard">命令:keytool -import -keystore C:\Java\jdk1.6.0_21\lib\security\cacerts -file D:/keys/small.crt -alias smalllove </a>   命令:keytool -import -keystore C:\Java\jdk1.6.0_21\lib\security\cacerts -file D:/keys/small.crt -alias smalllove     此命令是把证书导入到JDK中。      如图:               到此证书导入成功。         可能出现的错误: C:\>keytool -import -keystore C:\Java\jdk1.6.0_21\lib\security\cacerts -file D:/keys/small.crt -alias smalllove 输入keystore密码: keytool错误: java.io.IOException: Keystore was tampered with, or password was incorrect 解决方法是,把%JAVA_HOME%\lib\security下的cacerts文件删除掉,在执行。 常见命令: 1.显示证书库中的证书使用如下命令:  keytool -list -keystore C:\Program Files\Java\jdk1.6.0\jre\lib\security\cacerts 2.删除tomcat 别名的证书 keytool -delete -alias tomcat -keystore C:\Program Files\Java\jdk1.6.0\jre\lib\security\cacerts 3.显示证书库中的证书使用如下命令: keytool -list -keystore D:/keystore/test 将显示 D:/keystore/test 证书库的的所有证书列表: 将证书导出到证书文件 4.使用命令:keytool -export -alias Tomcat -file D:/keystore/TC.cer -keystore D:/keystore/test  将把证书库D:/keystore/test 中的别名为 Tomcat 的证书导出到 TC.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。 导出的证书文件是以二进制编码文件,无法用文本编辑器正确显示,可以加上 -rfc参数以一种可打印的编者编码输出。 如:  keytool -export -alias Tomcat -file D:/keystore/TC.cer -keystore D:/keystore/test –rfc 5.通过证书文件查看证书的信息 通过命令: keytool -printcert -file D:/keystore/TC.cer 可以查看证书文件的信息。 也可以在 Windows 资源管理器中双击产生的证书文件直接查看。 6.证书条目的删除keytool的命令行参数 -delete 可以删除密钥库中的条目,如: keytool -delete -alias Tomcat -keystore D:/keystore/test,这条命令将 D:/keystore/test 库中的 Tomcat 这一条证书删除了。 7.证书条目口令的修改使用 -keypasswd 参数,如:keytool -keypasswd -alias Tomcat -keystore D:/keystore/test,可以以交互的方式修改 D:/keystore/test 证书库中的条目为 Tomcat 的证书。  Keytool -keypasswd -alias Tomcat -keypass oldpasswd -new newpasswd -storepass storepasswd -keystore D:/keystore/test 这一行命令以非交互式的方式修改库中别名为 Tomcat 的证书的密码为新密码 newpasswd,行中的 oldpasswd 是指该条证书的原密码, storepasswd 是指证书库的密码。 将不定期更新资源,欢迎持续关注 想获得更多的学习知识请关注微信公众号:西北码农或扫下方二维码  
文章
安全  ·  Java  ·  应用服务中间件  ·  数据安全/隐私保护
2017-02-13
证书转换-SSL证书生成:cer,jks文件 韩俊强的博客
一.生成.jks文件 资料:HTTPS-老司机手把手教你SSL证书申购-TrustAsia证书 HTTPS时代已来,手把手指导申请免费SSL证书 1、keystore的生成: 分阶段生成: keytool -genkey -alias yushan(别名) -keypass yushan(别名密码) -keyalg RSA(算法) -keysize 1024(密钥长度) -validity 365(有效期,天单位) -keystore e:/yushan.keystore(指定生成证书的位置和证书名称) -storepass 123456(获取keystore信息的密码); 回车输入相关信息即可; 一次性生成: keytool -genkey -alias yushan -keypass yushan -keyalg RSA -keysize 1024 -validity 365 -keystore e:/yushan.keystore -storepass 123456 -dname " CN=(名字与姓氏), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)"; (中英文即可) 2、keystore信息的查看: keytool -list -v -keystore e:/keytool /yushan.keystore -storepass 123456 显示内容: Keystore 类型: JKS Keystore 提供者: SUN 您的 keystore 包含 1 输入 别名名称: yushan 创建日期: 2009-7-29 项类型: PrivateKeyEntry 认证链长度: 1 认证 [1]: 所有者:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=湖南, C=中国 签发人:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=湖南, C=中国 序列号:4a6f29ed 有效期: Wed Jul 29 00:40:13 CST 2009 至Thu Jul 29 00:40:13 CST 2010 证书指纹: MD5:A3:D7:D9:74:C3:50:7D:10:C9:C2:47:B0:33:90:45:C3 SHA1:2B:FC:9E:3A:DF:C6:C4:FB:87:B8:A0:C6:99:43:E9:4C:4A:E1:18:E8 签名算法名称:SHA1withRSA 版本: 3 – 缺省情况下,-list 命令打印证书的 MD5 指纹。而如果指定了 -v 选项,将以可读格式打印证书,如果指定了 -rfc 选项,将以可打印的编码格式输出证书。 keytool -list -rfc -keystore e:/yushan.keystore -storepass 123456 显示: Keystore 类型: JKS Keystore 提供者: SUN 您的 keystore 包含 1 输入 别名名称: yushan 创建日期: 2009-7-29 项类型: PrivateKeyEntry 认证链长度: 1 认证 [1]: -----BEGIN CERTIFICATE----- MIICSzCCAbSgAwIBAgIESm8p7TANBgkqhkiG9w0BAQUFADBqMQ8wDQYDVQQGDAbkuK3lm70xDzAN BgNVBAgMBua5luWNlzEPMA0GA1UEBwwG5rmY5r2tMREwDwYDVQQKDAh4eOWNj+S8mjERMA8GA1UE CwwIeHjlhazlj7gxDzANBgNVBAMTBnl1c2hhbjAeFw0wOTA3MjgxNjQwMTNaFw0xMDA3MjgxNjQw MTNaMGoxDzANBgNVBAYMBuS4reWbvTEPMA0GA1UECAwG5rmW5Y2XMQ8wDQYDVQQHDAbmuZjmva0x ETAPBgNVBAoMCHh45Y2P5LyaMREwDwYDVQQLDAh4eOWFrOWPuDEPMA0GA1UEAxMGeXVzaGFuMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJoru1RQczRzTnBWxefVNspQBykS220rS8Y/oX3mZa hjL4wLfOURzUuxxuVQR2jx7QI+XKME+DHQj9r6aAcLBCi/T1jwF8mVYxtpRuTzE/6KEZdhowEe70 liWLVE+hytLBHZ03Zhwcd6q5HUMu27du3MPQvqiwzTY7MrwIvQQ8iQIDAQABMA0GCSqGSIb3DQEB BQUAA4GBAGoQQ1/FnTfkpQh+Ni6h3fZdn3sR8ZzDMbOAIYVLAhBb85XDJ8QZTarHbZMJcIdHxAl1 i08ct3E8U87V9t8GZFWVC4BFg/+zeFEv76SFpVE56iX7P1jpsu78z0m69hHlds77VJTdyfMSvtXv sYHP3fxfzx9WyhipBwd8VPK/NgEP -----END CERTIFICATE----- 二. 生成.cer文件 生成服务器密钥库和证书,客户端导入服务器证书: 1、生成密钥库(自签名的证书和私钥) keytool -genkey -alias sksalias -keyalg RSA -keystore skeystore.jks 密钥库和密钥库别名都需要密码,用时也需要 Enter keystore password: Enter key password for <ksalias> 查看密钥库 keytool -list -v -keystore skeystore.jks 2、导出密钥库公钥、信息等到证书中 keytool -export -alias sksalias -keystore skeystore.jks -storepass 123456 -file scert.cer 3、建立信任密钥库(将服务端证书,导入到客户端的信任密钥库中) keytool -import -alias sksalias -file scert.cer -keystore ctruststore 信任密钥库truststore也需要密码,但别名不需要密码 //truststore也是密钥库,只是少了私钥 Enter keystore password: 查看信任密钥库 keytool -list -v -keystore truststore keytool,可以转换,pem,直接导入pem的。ie,firefox也可以转换。 同理,生成客户端的密钥库和证书,服务器端导入客户端证书。 keytool -genkey -alias cksalias -keyalg RSA -keystore ckeystore.jks keytool -export -alias cksalias -keystore ckeystore.jks -storepass 123456 -file ccert.cer keytool -import -alias cksalias -file ccert.cer -keystore struststore 资料:HTTPS-老司机手把手教你SSL证书申购-TrustAsia证书 HTTPS时代已来,手把手指导申请免费SSL证书 更多:每周更新关注新浪微博!iOS开发者交流群:446310206
文章
算法  ·  网络安全  ·  数据安全/隐私保护
2017-05-03
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
一.生成.jks文件 资料:HTTPS-老司机手把手教你SSL证书申购-TrustAsia证书 HTTPS时代已来,手把手指导申请免费SSL证书 1、keystore的生成: 分阶段生成: keytool -genkey -alias yushan(别名) -keypass yushan(别名密码) -keyalg RSA(算法) -keysize 1024(密钥长度) -validity 365(有效期,天单位) -keystore e:/yushan.keystore(指定生成证书的位置和证书名称) -storepass 123456(获取keystore信息的密码); 回车输入相关信息即可; 一次性生成: keytool -genkey -alias yushan -keypass yushan -keyalg RSA -keysize 1024 -validity 365 -keystore e:/yushan.keystore -storepass 123456 -dname " CN=(名字与姓氏), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)"; (中英文即可) 2、keystore信息的查看: keytool -list -v -keystore e:/keytool /yushan.keystore -storepass 123456 显示内容: Keystore 类型: JKS Keystore 提供者: SUN 您的 keystore 包含 1 输入 别名名称: yushan 创建日期: 2009-7-29 项类型: PrivateKeyEntry 认证链长度: 1 认证 [1]: 所有者:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=湖南, C=中国 签发人:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=湖南, C=中国 序列号:4a6f29ed 有效期: Wed Jul 29 00:40:13 CST 2009 至Thu Jul 29 00:40:13 CST 2010 证书指纹: MD5:A3:D7:D9:74:C3:50:7D:10:C9:C2:47:B0:33:90:45:C3 SHA1:2B:FC:9E:3A:DF:C6:C4:FB:87:B8:A0:C6:99:43:E9:4C:4A:E1:18:E8 签名算法名称:SHA1withRSA 版本: 3 – 缺省情况下,-list 命令打印证书的 MD5 指纹。而如果指定了 -v 选项,将以可读格式打印证书,如果指定了 -rfc 选项,将以可打印的编码格式输出证书。 keytool -list -rfc -keystore e:/yushan.keystore -storepass 123456 显示: Keystore 类型: JKS Keystore 提供者: SUN 您的 keystore 包含 1 输入 别名名称: yushan 创建日期: 2009-7-29 项类型: PrivateKeyEntry 认证链长度: 1 认证 [1]: -----BEGIN CERTIFICATE----- MIICSzCCAbSgAwIBAgIESm8p7TANBgkqhkiG9w0BAQUFADBqMQ8wDQYDVQQGDAbkuK3lm70xDzAN BgNVBAgMBua5luWNlzEPMA0GA1UEBwwG5rmY5r2tMREwDwYDVQQKDAh4eOWNj+S8mjERMA8GA1UE CwwIeHjlhazlj7gxDzANBgNVBAMTBnl1c2hhbjAeFw0wOTA3MjgxNjQwMTNaFw0xMDA3MjgxNjQw MTNaMGoxDzANBgNVBAYMBuS4reWbvTEPMA0GA1UECAwG5rmW5Y2XMQ8wDQYDVQQHDAbmuZjmva0x ETAPBgNVBAoMCHh45Y2P5LyaMREwDwYDVQQLDAh4eOWFrOWPuDEPMA0GA1UEAxMGeXVzaGFuMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJoru1RQczRzTnBWxefVNspQBykS220rS8Y/oX3mZa hjL4wLfOURzUuxxuVQR2jx7QI+XKME+DHQj9r6aAcLBCi/T1jwF8mVYxtpRuTzE/6KEZdhowEe70 liWLVE+hytLBHZ03Zhwcd6q5HUMu27du3MPQvqiwzTY7MrwIvQQ8iQIDAQABMA0GCSqGSIb3DQEB BQUAA4GBAGoQQ1/FnTfkpQh+Ni6h3fZdn3sR8ZzDMbOAIYVLAhBb85XDJ8QZTarHbZMJcIdHxAl1 i08ct3E8U87V9t8GZFWVC4BFg/+zeFEv76SFpVE56iX7P1jpsu78z0m69hHlds77VJTdyfMSvtXv sYHP3fxfzx9WyhipBwd8VPK/NgEP -----END CERTIFICATE----- 二. 生成.cer文件 生成服务器密钥库和证书,客户端导入服务器证书: 1、生成密钥库(自签名的证书和私钥) keytool -genkey -alias sksalias -keyalg RSA -keystore skeystore.jks 密钥库和密钥库别名都需要密码,用时也需要 Enter keystore password: Enter key password for &lt;ksalias&gt; 查看密钥库 keytool -list -v -keystore skeystore.jks 2、导出密钥库公钥、信息等到证书中 keytool -export -alias sksalias -keystore skeystore.jks -storepass 123456 -file scert.cer 3、建立信任密钥库(将服务端证书,导入到客户端的信任密钥库中) keytool -import -alias sksalias -file scert.cer -keystore ctruststore 信任密钥库truststore也需要密码,但别名不需要密码 //truststore也是密钥库,只是少了私钥 Enter keystore password: 查看信任密钥库 keytool -list -v -keystore truststore keytool,可以转换,pem,直接导入pem的。ie,firefox也可以转换。 同理,生成客户端的密钥库和证书,服务器端导入客户端证书。 keytool -genkey -alias cksalias -keyalg RSA -keystore ckeystore.jks keytool -export -alias cksalias -keystore ckeystore.jks -storepass 123456 -file ccert.cer keytool -import -alias cksalias -file ccert.cer -keystore struststore 资料:HTTPS-老司机手把手教你SSL证书申购-TrustAsia证书 HTTPS时代已来,手把手指导申请免费SSL证书 更多:每周更新关注新浪微博!iOS开发者交流群:446310206
文章
Web App开发  ·  算法  ·  数据安全/隐私保护  ·  网络安全
1970-01-01
...
跳转至:
开发与运维
5193 人关注 | 125226 讨论 | 184653 内容
+ 订阅
  • Linux学习笔记 18(网络配置)
  • JDBC连接Mysql时警告:Establishing SSL connection without server’s identity verification is not recommended
  • Linux学习笔记 17(软件管理及计划任务)
查看更多 >
安全
1033 人关注 | 23271 讨论 | 52059 内容
+ 订阅
  • JDBC连接Mysql时警告:Establishing SSL connection without server’s identity verification is not recommended
  • 阿里云web应用防火墙是什么?主要防护内容有哪些?
  • Windows下Redis x64的安装与使用教程
查看更多 >
人工智能
2598 人关注 | 9268 讨论 | 61956 内容
+ 订阅
  • 阿里云智能副总裁刘湘雯:产业链加速重构,在不确定中寻找确定性
  • 阿里云web应用防火墙是什么?主要防护内容有哪些?
  • 自然语言处理预训练模型商品评价解析服务-本地生活领域 Java SDK示例
查看更多 >
微服务
22761 人关注 | 9847 讨论 | 19687 内容
+ 订阅
  • SpringBoot主运行类加上@SpringBootApplication后报错:Spring Boot Application in default package.
  • SpringCache通用缓存学习
  • IDEA中从https://start.spring.io网站创建springboot项目
查看更多 >
云计算
21601 人关注 | 57831 讨论 | 36386 内容
+ 订阅
  • 感悟
  • 阿里云智能副总裁刘湘雯:产业链加速重构,在不确定中寻找确定性
  • 北航科技园李军:做创新创业孵化的“苗圃”,大学科技园还有哪些课要补?
查看更多 >