Android系统制作自定义签名的例子

  set in_pk8="F:chNetsign_mstar9380 estkey.pk8"

  set in_x509_pem="F:chNetsign_mstar9380 estkey.x509.pem"

  set out_name=out.keystore.testkey

  set out_alias="mstar"

  set storePassword=12345678

  set keyPassword=12345678

  set tmp_file1=platform.p12

  set tmp_file2=testkey.pem

  set openssl="D:Program FilesGitﵛinopenssl.exe"

  set keytool="C:Program FilesJavajre1.8.0_191binkeytool.exe"

  ::使用 open ssl 将pk8 解密为 pem 文件, 此时生成一个testkey.pem 文件

  %openssl% pkcs8 -inform DER -nocrypt -in %in_pk8% -out %tmp_file2%

  ::将两个pem 文件导入platform.p12文件中,

  ::并设置 别名 testkey 和keypass 密码:12345678 (别名和密码可自定义)会新生成 platform.p12

  %openssl% pkcs12 -export -in %in_x509_pem% -inkey %tmp_file2% -out %tmp_file1% -password pass:%keyPassword% -name %out_alias%

  ::使用keytool 将之前生成的platform.p12导入 testkey.jks 签名中,并设置storepass密码(12345678)

  ::需要正确提供keypass 密码

  ::此时即生成了需要的testkey.jks 签名文件

  %keytool% -importkeystore -deststorepass %storePassword% -destkeystore %out_name% -srckeystore %tmp_file1% -srcstoretype PKCS12 -srcstorepass %keyPassword%

  ::删除临时文件

  del %tmp_file1%

  del %tmp_file2%

  ::查看生成的 签名信息

  %keytool% -list -v -keystore %out_name%

  pause