用Keytool和OpenSSL生成和签发数字证书
java-keytool生成数字证书

Keytool是一个Java数据证书的管理工具,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据:密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)可信任的证书实体(trusted certificate entries)——只包含公钥ailas(别名)每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写JDK中keytool常用命令:-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:\Documents and Settings\UserName\文件名为“.keystore”)-alias 产生别名-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)-keyalg 指定密钥的算法(如RSA DSA(如果不指定默认采用DSA))-validity 指定创建的证书有效期多少天-keysize 指定密钥长度-storepass 指定密钥库的密码(获取keystore信息所需的密码)-keypass 指定别名条目的密码(私钥的密码)-dname 指定证书拥有者信息例如:"CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码"-list 显示密钥库中的证书信息keytool -list -v -keystore 指定keystore-storepass 密码-v 显示密钥库中的证书详细信息-export 将别名指定的证书导出到文件keytool -export -alias 需要导出的别名-keystore 指定keystore -file 指定导出的证书位置及证书名称-storepass 密码-file 参数指定导出到文件的文件名-delete 删除密钥库中某条目keytool -delete -alias 指定需删除的别-keystore 指定keystore -storepass 密码-printcert 查看导出的证书信息keytool -printcert -file yushan.crt-keypasswd 修改密钥库中指定条目口令keytool -keypasswd -alias 需修改的别名-keypass 旧密码-new 新密码-storepass keystore密码-keystore sage-storepasswd 修改keystore口令keytool -storepasswd -keystoree:\yushan.keystore(需修改口令的keystore) -storepass 123456(原始密码) -new yushan(新密码)-import 将已签名数字证书导入密钥库keytool -import -alias 指定导入条目的别名-keystore 指定keystore -file 需导入的证书下面是各选项的缺省值。
OpenSSL 命令常用证书操作

在OpenSSL开发包中,包含一个实用工具:openssl,比如我用MinGW GCC 编译OpenSSL 0.9.8k 后,openssl 就保存在out目录下。
openssl 工具是完成密钥、证书操作和其它SSL 事务的入口环境,直接运行不带参数的openssl 命令后,可以得到一个shell 环境,在其中可以以交互的方式完成SSL 相关的安全事务。
不过有时,如果用一个带参数选项的openssl 命令完成操作,会更方便。
下面是我使用openssl 做证书操作时,记录的常用命令用法。
1.生成密钥生成RSA密钥,保存在file.key中,命令如下:上面命令的含义是:产生RSA密钥,包括:私钥和公钥两部分,然后使用DES3算法,用用户输入的密码(passphrase)加密该密钥数据,保存在file.key中。
file.key默认以BASE64方式编码密钥数据,file.key的格式称为:PEM (Privacy Enhanced Mail)格式,在RFC 1421到RFC 1424中定义,PEM是早期用来进行安全电子邮件传输的标准,但现在广泛用在证书、证书请求、PKCS#7对象的存储上,所以证书文件也经常以.pem为扩展名。
2.不加密的密钥如果在生成密钥时,使用了-des3等加密选项,则会生成被用户密码保护的加密密钥,以增强密钥数据的保密性(因为密钥文件中包含私钥部分)。
但有时为了方便,需要不加密的明文密钥(这样安全性会降低),比如:使用Apache的HTTPS服务,每次启动Apache服务时,都需要用户输入保护密钥的密码,感觉麻烦的话,可以使用明文密钥。
明文密钥可以使用不带-des3等加密选项的openssl命令生成,还可以使用以下命令将加密保护的密钥转换成明文密钥,当然转换过程需要用户输入原来的加密保护密码:3.查看密钥查看保存在file.key中的RSA密钥的细节,如果此文件是加密保护的,会提示用户输入加密此文件的密码,命令如下:输出的内容均是RSA密钥数据的数学信息(模数、指数、质数等),从输出的结果中也可知file.key保存的RSA密钥数据包括:私钥和公钥两部分。
如何应用JDK中的keytool.exe命令工具创建数字证书

6、导出生成安全证书文件的命令和创建过程
(1)在操作系统的命令行窗口中输入如下的命令 keytool -export -alias yangSB -file F:/server.cer -keystore f:/server.keystore -validity 365
上面的命令的主要功能将实现把位于目录文件中的数字证 书库f:/server.keystore中的别名为“yangSB”的证书导出到 F:/server.cer的数字证书文件中。在F:/server.cer的数字证 书文件中将包含有证书主体的信息及证书的公钥等方面的信息, 但不包括私钥信息。因此,该server.cer数字证书文件可以公 开。 (2)输入密码 然后再输入前面的f:/server.keystore数字证书库文件中 存储的keystore密码(本示例为123456),系统将会在F盘的 根目录中创建出一个文件名称为server.cer的数字证书文件。 其中的“-file F:/server.cer”命令参数即为要求生成.cer 格式文件,如下示图所示:
(3)双击所创建的server.cer的数字证书文件,将能够正常地 看到数字证书中相关的信息。
3、熟悉和了解数字证书文件
(1)数字证书库中的一条证书可以导出为数字证书文件,而数字 证书文件只包括主体信息和对应的公钥——公共密钥用于加密 信息,私用密钥用于解译加密的信息。 (2)每一个数字证书 库是由一个文件所组 成,并保存有访问的 密码。在首次创建时, 它会自动生成数字证 书库,并要求指定访 问该数字证书库的密 码。
2、数字证书的主要用途
(1)发送安全电子邮件、访问安全站点、网上证券交易、网上招 标采购、网上办公、网上保险、网上税务、网上签约和网上银 行等安全电子事务处理和安全电子交易等活动中。 (2)比如,将服务器端的SSL证书安装于服务器设备上,可以用 来证明服务器的身份和进行通信加密。 因为,应用服务器端的数字证书可以有效地防止欺诈的“钓 鱼”站点。
java生成ssl证书方法

生成 SSL 证书可以使用 Java 的 `keytool` 工具。
以下是一些基本的步骤:### 使用 keytool 生成 SSL 证书#### 步骤 1: 创建密钥库(keystore)```bashkeytool -genkey -alias your_alias -keyalg RSA -keystore your_keystore.jks -keysize 2048```这将提示你输入一些信息,如密码、姓名、组织等。
#### 步骤 2: 生成证书签名请求(CSR)```bashkeytool -certreq -alias your_alias -keystore your_keystore.jks -file your_csr_file.csr```这将生成一个 CSR 文件,它包含了你的公钥信息。
#### 步骤 3: 自签名证书```bashkeytool -export -alias your_alias -fileyour_certificate.cer -keystore your_keystore.jks```这将生成一个自签名的证书文件。
以上命令中的参数:- `your_alias` 是你为证书分配的别名。
- `your_keystore.jks` 是你的密钥库文件名。
- `your_csr_file.csr` 是证书签名请求文件名。
- `your_certificate.cer` 是自签名证书文件名。
这些命令会在命令行中运行,确保替换掉 `your_alias`、`your_keystore.jks` 等为你自己的命名和路径。
请注意,生成的证书可以用于测试或内部使用。
如果要在生产环境中使用 SSL 证书,最好从受信任的证书颁发机构(CA)获取正式证书。
数字证书中keytool命令使用说明

数字证书中keytool命令使⽤说明这个命令⼀般在JDK\jre\lib\security\⽬录下操作keytool常⽤命令-alias 产⽣别名-keystore 指定密钥库的名称(就像数据库⼀样的证书库,可以有很多个证书,cacerts这个⽂件是jre⾃带的,你也可以使⽤其它⽂件名字,如果没有这个⽂件名字,它会创建这样⼀个)-storepass 指定密钥库的密码-keypass 指定别名条⽬的密码-list 显⽰密钥库中的证书信息-v 显⽰密钥库中的证书详细信息-export 将别名指定的证书导出到⽂件-file 参数指定导出到⽂件的⽂件名-delete 删除密钥库中某条⽬-import 将已签名数字证书导⼊密钥库-keypasswd 修改密钥库中指定条⽬⼝令-dname 指定证书拥有者信息-keyalg 指定密钥的算法-validity 指定创建的证书有效期多少天-keysize 指定密钥长度使⽤说明:导⼊⼀个证书命令可以如下:keytool -import -keystore cacerts -storepass 666666 -keypass 888888 -alias alibabacert -file C:\alibabajava\cert\test_root.cer 其中-keystore cacerts中的cacerts是jre中默认的证书库名字,也可以使⽤其它名字-storepass 666666中的666666是这个证书库的密码-keypass 888888中的888888是这个特定证书的密码-alias alibabacert中的alibabacert是你导⼊证书的别名,在其它操作命令中就可以使⽤它-file C:\alibabajava\cert\test_root.cer中的⽂件路径就是要导⼊证书的路径浏览证书库⾥⾯的证书信息,可以使⽤如下命令:keytool -list -v -alias alibabacert -keystore cacerts -storepass 666666要删除证书库⾥⾯的某个证书,可以使⽤如下命令:keytool -delete -alias alibabacert -keystore cacerts -storepass 666666要导出证书库⾥⾯的某个证书,可以使⽤如下命令:keytool -export -keystore cacerts -storepass 666666 -alias alibabacert -file F:\alibabacert_root.cer要修改某个证书的密码(注意:有些数字认证没有私有密码,只有公匙,这种情况此命令⽆效)这个是交互式的,在输⼊命令后,会要求你输⼊密码keytool -keypasswd -alias alibabacert -keystore cacerts这个不是交互式的,输⼊命令后直接更改Keytool -keypasswd -alias alibabacert -keypass 888888 -new 123456 -storepass 666666 -keystore cacertsOwner: CN=BOCTestCA, O=BOCTest, C=CNIssuer: CN=BOCTestCA, O=BOCTest, C=CNSerial number: 31e60001Valid from: Tue Oct 28 16:54:26 CST 2008 until: Sat Oct 28 16:54:26 CST 2028Certificate fingerprints:MD5: F0:35:F9:69:31:AE:87:01:6C:2D:56:BD:02:0A:16:4ASHA1: 24:EF:84:14:4E:BD:0D:37:59:2D:70:28:79:10:88:EA:0A:06:13:20Signature algorithm name: SHA1withRSAVersion: 3Extensions:#1: ObjectId: 2.5.29.19 Criticality=trueBasicConstraints:[CA:truePathLen:2147483647]#2: ObjectId: 2.5.29.15 Criticality=falseKeyUsage [DigitalSignatureNon_repudiationKey_EnciphermentData_EnciphermentKey_AgreementKey_CertSignCrl_Sign]#3: ObjectId: 2.5.29.14 Criticality=falseSubjectKeyIdentifier [KeyIdentifier [0000: E3 81 66 00 7B C9 8F 3F 5A 77 E0 6D 5C EB 41 42 ..f....?Zw.m\.AB 0010: C7 48 5A 10 .HZ.]]#4: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=falseAuthorityInfoAccess [[accessMethod: 1.3.6.1.5.5.7.48.1]#5: ObjectId: 2.5.29.31 Criticality=falseCRLDistributionPoints [[DistributionPoint:[CN=crl1, OU=crl, O=BOCTest, C=CN]]]#6: ObjectId: 2.5.29.32 Criticality=falseCertificatePolicies [[CertificatePolicyId: [2.5.29.32.0][PolicyQualifierInfo: [qualifierID: 1.3.6.1.5.5.7.2.182.1190010: 2E 31 37 31 2E 31 30 36 2F 63 70 73 2E 68 74 6D .171.106/cps.htm ]] ]]#7: ObjectId: 2.16.840.1.113730.1.1 Criticality=false NetscapeCertType [SSL CAS/MIME CAObject Signing CA]#8: ObjectId: 2.5.29.35 Criticality=falseAuthorityKeyIdentifier [KeyIdentifier [0000: E3 81 66 00 7B C9 8F 3F 5A 77 E0 6D 5C EB 41 42 ..f....?Zw.m\.AB 0010: C7 48 5A 10 .HZ.]]Trust this certificate? [no]: yesCertificate was added to keystore[root@orange3c bin]#NOTE: (xp: %JAVA_HOME%/jre/lib/security/cacerts, linux: $JAVA_HOME/jre/lib/security/cacerts)验证是否已创建过同名的证书keytool -list -v -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts " -storepass changeit删除已创建的证书keytool -delete -alias tomcat -keystore "%%JAVA_HOME%/jre/lib/security/cacerts " -storepass changeitKeytool是⼀个Java数据证书的管理⼯具。
生成ssl证书和私钥的命令

生成ssl证书和私钥的命令
生成 SSL 证书和私钥的命令取决于您使用的操作系统和工具。
以下是一些常见的生成 SSL 证书和私钥的命令示例:
1. 使用 OpenSSL 命令生成自签名证书和私钥:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out certificate.crt.
2. 使用 OpenSSL 命令生成证书签发请求 (CSR) 和私钥:
openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out csr.csr.
3. 使用 OpenSSL 命令生成带有 CA 签名的证书和私钥:
openssl genrsa -out private.key 2048。
openssl req -new -key private.key -out csr.csr.
openssl x509 -req -days 365 -in csr.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out certificate.crt.
4. 使用 Certbot 工具生成 Let's Encrypt 免费证书:
certbot certonly --standalone --email your-
*****************************************.com.
请注意,以上命令仅为示例,实际使用时需要替换为您自己的信息和配置。
同时,确保您已经安装了相应的工具和软件,例如OpenSSL 或 Certbot。
linux中openssl生成证书和自签证书linux操作系统-电脑资料

linux中openssl生成证书和自签证书linux操作系统-电脑资料下面来给大家介绍关于linux中openssl生成证书和自签证书的例子,整个过程都讲述的非常详细有兴趣的朋友可进入参考,。
1.首先要生成服务器端的私钥(key文件):代码如下复制代码openssl genrsa -des3 -out server.key 1024运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!去除key文件口令的命令:代码如下复制代码openssl rsa -in server.key -out server.key2.openssl req -new -key server.key -out server.csr -config f生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.3.对客户端也作同样的命令生成key及csr文件:代码如下复制代码openssl genrsa -des3 -out client.key 1024openssl req -new -key client.key -out client.csr -config f4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.代码如下复制代码openssl req -new -x509 -keyout ca.key -out ca.crt -config f5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:代码如下复制代码openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config fopenssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config f现在我们所需的全部文件便生成了.另:client使用的文件有:ca.crt,client.crt,client.keyserver使用的文件有:ca.crt,server.crt,server.key.crt文件和.key可以合到一个文件里面,本人把2个文件合成了一个.pem文件(直接拷贝过去就行了)以下步骤非必须代码如下复制代码[root@station23 CA]# mkdir ./newcerts[root@station23 CA]# touch ./{serial,index.txt}[root@station23 CA]# echo "00" > serial如果忘记以上操作,CA在签证时会出现如下错误,解决方法如下:代码如下复制代码[root@station23 test]# openssl ca -in my.csr -out ldap.crtUsing configuration from /etc/pki/tls/fI am unable to access the /etc/pki/CA/newcerts directory/etc/pki/CA/newcerts: No such file or directory[root@station23 test]# mkdir /etc/pki/CA/newcerts[root@station23 test]# openssl ca -in my.csr -out ldap.crtUsing configuration from /etc/pki/tls/f/etc/pki/CA/index.txt: No such file or directoryunable to open '/etc/pki/CA/index.txt'23016:error:02001002:system library:fopen:No such file or directory:bss_file.c:352:fopen('/etc/pki/CA/index.txt','r') 23016:error:20074002:BIO routines:FILE_CTRL:systemlib:bss_file.c:354:[root@station23 test]# touch /etc/pki/CA/index.txt[root@station23 test]# openssl ca -in my.csr -out ldap.crtUsing configuration from /etc/pki/tls/f/etc/pki/CA/serial: No such file or directoryerror while loading serial number23031:error:02001002:system library:fopen:No such file or directory:bss_file.c:352:fopen('/etc/pki/CA/serial','r')23031:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:[root@station23 test]# touch /etc/pki/CA/serial[root@station23 test]# echo 00 > /etc/pki/CA/serial。
openssl+keytool+tomcat自签名证书

利用OpenSSL 和keytool 实现tomcat下自签名证书前言项目需要在tomcat中配置ssl认证,学习了一下怎么配置,由于对pki认证体系、证书的制作和发放过程不了解,整个配置过程坎坷,所以配置成功后立即记录下来希望以后遇到类似的情况有所参考。
本文讲述了如何使用openssl 制作证书、keytool生成证书申请并将证书导入证书库、如何配置tomcat,和配置当中出现问题的解释。
本文用到的工具:OpenSSL.rar(点击下载) keytool(JDK中自带的工具)(这里下载的OpenSSL.rar,其中的f并没有在ssl文件夹中,需新建ssl文件夹并把f 放入其中)。
使用openssl 生成根证书生成1.解压openssl.rar 到c:\openssl 下,在命令行中将目录转到c:\openssl\bin2. 生成根证书的私钥,生成文件cakey.pemopenssl genrsa -out cakey.pem 10243.根据私钥生成证书申请,生成文件careq.csropenssl req -new -out careq.csr -key cakey.pem在生成申请时需要填入相关的信息,根据部署的地点不同做相应的改变4. 利用根证书申请生成自签名根证书,生成文件cacert.pemopenssl x509 -req -in careq.csr -out cacert.pem -signkey cakey.pem -days 3650至此根证书制作完毕,为了方便起见,在openssl.rar\bin\ 中已经包含生成根证书.bat 点击执行即可。
生成tomcat证书库文件和证书申请1.生成证书库文件tomcatkey.jkskeytool -genkey -alias tomcat_server -keyalg RSA -keysize 1024 -validity "1825" -keypass 123456 -keystore tomcatkey.jks -storepass 123456红色部分可以根据具体的部署情况做相应的改变-alias 证书库文件中私钥的别名-keypass 证书库文件私钥的密码-keystore 证书库文件的存储路径-storepass 证书库文件的密码执行后需要填写相应的信息名称和姓氏一定要填入服务器的域名或ip地址,否则部署之后会提示证书地址不匹配的错误剩余的部分必须和根证书填写一致。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2.1 建立工作目录demoCA4.2.2 生成CA私钥以及自签名根证书4.2.2.1 生成CA私钥openssl genrsa -out demoCA\ca-key.pem 10244.2.2.2 生成待签名证书openssl req -new -out demoCA\ca-req.csr -key demoCA\ca-key.pem4.2.2.3 用CA私钥进行自签名openssl x509 -req -in demoCA\ca-req.csr -out ca\ca-cert.pem -signkey demoCA\ca-key.pem -days 3654.3 设置Tomcat 4.x在本文中用符号"%JDK_HOME%"来表示JDK的安装位置,用符号"%TCAT_HOME%" 表示Tomcat的安装位置。
4.3.1建立工作目录mkdir server4.3.2 生成server端证书4.3.2.1 生成KeyPair%JDK_HOME%\bin\keytool -genkey -alias tomcat_server -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore server\server_keystore4.3.2.2 生成待签名证书%JDK_HOME%\bin\keytool -certreq -alias tomcat_server -sigalgMD5withRSA -file server\server.csr -keypass 123456 -keystoreserver\server_keystore -storepass changeit4.3.2.3 用CA私钥进行签名openssl x509 -req -in server\server.csr -out server\server-cert.pem -CA demoCA\ca-cert.pem -CAkey demoCA\ca-key.pem -CAserialdemoCA/ca-cert.srl -CAcreateserial -days 3654.3.2.4 导入信任的CA根证书到JSSE的默认位置(%JDK_ROOT %/jre/security/cacerts)%JDK_HOME%\bin\ keytool -import -v -trustcacerts -storepass 123456-alias my_ca_root -file demoCA\ca-cert.pem-keystore %JDK_HOME%\jre\lib\security\cacerts4.3.2.5 把CA签名后的server端证书导入keystore%JDK_HOME%\bin\keytool -import -v -trustcacerts -storepass changeit-alias tomcat_server -file server\server-cert.pem -keystoreserver\server_keystore%JDK_HOME%\bin\keytool -import -v -alias tomcat_server -fileserver\server-cert.pem -storepass 123456 -keystore server_keystore4.3.2.6 查看server端证书keytool -list -keystore %JDK_HOME%\jre\lib\security\cacertskeytool -list -keystore server\server_keystore4.3.3 修改server.xml使Tomcat支持SSL首先找到以下内容,去掉对其的注释。
然后参照红色部分修改。
如果配置Tomcat不验证客户身份,可以设置clientAuth="false"。
<Connector className="org.apache.catalina.connector.http.HttpConnector" port="8443" minProcessors="5" maxProcessors="75"enableLookups="true"acceptCount="10" debug="0" scheme="https" secure="true"><Factory className=".SSLServerSocketFactory" clientAuth="true" protocol="TLS"keystoreFile="%TCAT_HOME%/conf/server_keystore"keystorePass="changeit"/>然后把文件server\server_keystore复制到目录%TCAT_HOME%\conf\下。
4.4 在IE中安装个人证书4.4.1 建立工作目录mkdir client4.4.2 生成client私钥并用CA私钥签名4.4.2.1 生成client私钥openssl genrsa -out client\client-key.pem 10244.4.2.2 生成待签名证书openssl req -new -out client\client-req.csr -key client\client-key.pem4.4.2.3 用CA私钥进行签名openssl x509 -req -in client\client-req.csr -out client\client.crt -signkeyclient\client-key.pem-CA ca\ca-cert.pem -CAkey ca\ca-key.pem -CAcreateserial -days 3654.4.2.4 生成client端的个人证书因为JSSE1.0.2没有完全实现了对PKCS#12格式文件的操作(只能读取,不能输出),所以在这里需要用openssl制作client端的个人证书(包含私钥)。
openssl pkcs12 -export -clcerts -in client\client.crt -inkeyclient\client-key.pem -out client\client.p124.4.2.5 安装信任的根证书#把ca\ca-key.pem改名为ca\ca-key.cer,在client端的IE中使用"工具' Internet选项' 内容' 证书' 导入"把我们生成的CA根证书导入,使其成为用户信任的CA。
运行这条命令CA才能被导入fireFox的服务器证书列表中:/usr/local/ssl/ca# openssl pkcs12 -export -clcerts -in ca-cert.pem -inkey ca-key.pem -out ca.p124.4.3 安装个人证书把client.p12导入到client端的IE中作为个人证书,导入过程同4.4.2.5。
4.5 用IE浏览器使用SSL协议访问Tomcat4.5.1 启动Tomcat 4.x执行%TCAT_HOME%\bin\startup.bat启动Tomcat 4.x4.5.2 用IE访问Tomcat 4.x在IE浏览器的地址栏中输入https://localhost:8443,如果前面的操作都正确的话,应该可以看到Tomcat的欢迎页面。
同时状态栏上的小锁处于闭合状态,表示您已经成功地与服务器建立了要求客户端验证的SSL 安全连接。
/duanzhimin528/archive/2010/06/22/324182.html编码(也用于扩展名)•.DER = 扩展名DER用于二进制DER编码的证书。
这些证书也可以用或者作为扩展名。
比较合适的说法是“我有一个DER编码的证书”,而不是“我有一个DER证书”。
•.PEM = 扩展名PEM用于ASCII(Base64)编码的各种X.509 v3 证书。
文件开始由一行"—–BEGIN …“开始。
常用的扩展名•. = 扩展名用于证书。
证书可以是DER编码,也可以是PEM编码。
扩展名和几乎是同义词。
这种情况在各种unix/linux系统中很常见。
• = 证书的微软型式。
可以用微软的工具把文件转换为文件(和必须是相同编码的,DER或者PEM)。
扩展名为的文件可以被IE识别并作为命令调用微软的cryptoAPI(具体点就是rudll32.exe cryptext.dll,CyrptExtOpenCER),进而弹出一个对话框来导入并/或查看证书内容。
•.KEY = 扩展名KEY用于PCSK#8的公钥和私钥。
这些公钥和私钥可以是DER编码或者PEM编码。
文件和文件只有在使用相同编码的时候才可以安全地相互替代。
证书导入Der/Cer证书导入:要从某个文件中导入某个证书,使用keytool工具的-import命令:keytool -import -file mycert.der -keystore mykeystore.jks如果在 -keystore 选项中指定了一个并不存在的密钥仓库,则该密钥仓库将被创建。
如果不指定 -keystore 选项,则缺省密钥仓库将是宿主目录中名为 .keystore 的文件。
如果该文件并不存在,则它将被创建。
创建密钥仓库时会要求输入访问口令,以后需要使用此口令来访问。
可使用-list 命令来查看密钥仓库里的内容:keytool -list -rfc -keystore mykeystore.jksP12格式证书导入:keytool无法直接导入PKCS12文件。
第一种方法是使用IE将pfx证书导入,再导出为cert格式文件。
使用上面介绍的方法将其导入到密钥仓库中。
这样的话仓库里面只包含了证书信息,没有私钥内容。
第二种方法是将pfx文件导入到IE浏览器中,再导出为pfx文件。
新生成的pfx不能被导入到keystore中,报错:keytool错误:ng.Exception: 所输入的不是一个 X.509 认证。