日期:2014-05-20  浏览次数:20674 次

java的密钥文件怎么和IIS的互转?
由于web服务器需要替换从 IHS改为IIS(别问我为什么,老板要求的)。那么原来的服务器密钥文件怎么迁移过去。怎么从.jks 转换为 .pfx文件。

------解决方案--------------------
友情UP
------解决方案--------------------
呵呵 兄弟 我有一个方法,不过是用keytool生成pkcs12,然后再将pem导入jks
1、生成pkcs12
rem @echo off

echo alias %1

echo keypass %2

echo keystoreName %3

echo KeyStorePass %4

echo keyName %5

keytool -genkey -alias %1 -keypass %2 -keystore %3 -storepass %4 -storetype pkcs12 -dname "cn=*******" -keyalg RSA -sigalg SHA1WithRSA -keysize 1024 -validity 7200

keytool -selfcert -sigalg SHA1WithRSA -alias %1 -keystore %3 -storepass %4 -storetype pkcs12 -keypass %2 -validity 7200

keytool -export -alias %1 -file %5 -keystore %3 -storepass %4 -storetype pkcs12
2、导出pem
pkcs12 -in MYCERTS.pkcs12 -out MYCERTS.pem -nodes
3、将MYCERTS.pem中公钥单独保存为my_key_root.pem
如:
-----BEGIN CERTIFICATE-----
MIIBmzCCAQSgAwIBAgIESWFtzDANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDEwdO
ZXc5N0VTMB4XDTA5MDEwNTAyMTc0OFoXDTI4MDkyMjAyMTc0OFowEjEQMA4GA1UE
AxMHTmV3OTdFUzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAoiJ80gMMDXnQ
8Z8wW5skdljw9gMKbgHyKI0jFezMgdU1xB80JNPM8KJAXtycmO9+Nj/1TpS6W8a7
I3xgnt778pBzM1RX8yb4+P0YxJjGYrHNgSeVpFelNq73oAtTXne6mHvJ2PNoHb9W
QYScy0ZI8BR3lc3mm79OhSUTPHx5mfkCAwEAATANBgkqhkiG9w0BAQUFAAOBgQA/
SrvUzfyfy2Ze8U0zQ2anBk6mhXnNuRNNm0TrjjTQQn9bdUmT92SN+Cp3v3IwJsvC
D6vBFDR+ooVCBe7teXAIwopTMwmY/V9eT7JE7sc4VIqGfvF2ybZbILvj1Ay9twyW
BUAqyfxrMbqqlv/yfVlz02f3Cf+OAl6fMt0C3mS5ug==
-----END CERTIFICATE-----
4、将my_key_root.pem导入jks
keytool -import -trustcacerts -file my_key_root.pem -alias my_key_root -keystore my_key_trust.jks -storepass <trust key store password>

如果要使用私钥创建jks,请使用下面的
将-----BEGIN RSA PRIVATE KEY-----。。。。。。 -----END RSA PRIVATE KEY-----部分单独保存为my_key_pk.pem

java utils.ImportPrivateKey -keystore <new JKS file> -storepass
<new storepass> -storetype JKS -keypass <new key pass> -alias
<new alias name> -certfile MYCERTS.pem -keyfile my_key_pk.pem
-keyfilepass <PFX key password>

------解决方案--------------------
帮顶。
------解决方案--------------------
 [shm]
  file=c:/Tomcat/logs/jk2.log
  size=1048576
  
  # 实际运用时把所有的localhost和8009换成你自己的IP和端口
  [channel.socket:localhost:8009]
  port=8009
  host=localhost
  
  # define the worker
  [ajp13:localhost:8009]
  channel=channel.socket:localhost:8009
  
  # Uri mapping
  [uri:/*.jsp]
    [uri:/web/*]
  worker=ajp13:localhost:8009
  
  # define the worker
  [status:status]
  
  # Uri mapping
  [uri:/jkstatus/*]
  worker=status:status
  
  之后编辑jk2.properties文件,确认其中是否有此一句:

  request.tomcatAuthentication=false

  接下来开始编辑注册表,直接建一个iis.reg文件,把下面一段拷进去保存然后双击iis.reg把信息导入注册表。(注意,把涉及的Tomcat路径改成你的Tomcat的路径)