跳到主要内容

5 篇博文 含有标签「电子数据交换」

查看所有标签

错误提示

在EDI系统中,已经收到对方发送的文档,但系统提示:消息解密失败

原因分析

在电子数据交换系统中,通常每年要进行我方和对方的数字证书更新。更新要在两边同步进行,如果对方更新证书以后我方未更新,就会出现对方用新证书加密,我方用旧证书解密,就会报以上错误。

解决办法

  1. 检查对方发送的新证书,在我方服务器是否已经安装完毕;
  2. 与对方确认发送的证书是否正确

命令:

keytool -exportcert -keystore keystore.p12 -storepass 123456 -alias keyname  -file cert-2019.cer

参数解释:

  • -keystore keystore.p12 :证书库的文件名称为 keystore.p12
  • -storepass 123456:证书库的密码为123456
  • -alias keyname:证书在证书库的别名为keyname
  • -file cert-2019.cer:证书导出后保存在名为 cert-2019.cer的文件里

命令:

keytool -genkey -alias myalias -keysize 2048 -keyalg RSA  -validity 730
-keystore mykeystore.jks

参数解释:

  1. -alias myalias: 证书别名为myalias
  2. -keysize 2048: 密钥位数位2048
  3. -keyalg RSA: 密钥算法为RSA
  4. -validity 730:证书有效期为730天
  5. -keystore mykeystore.jks:证书库名称为mykeystore.jks

命令:

keytool -importkeystore -destkeystore as2_certs.p12 -deststorepass testas2 -srckeystore  newcerts.pfx -srcstorepass newcertpass  -srcalias 1 -destalias mycert2019 -deststoretype pkcs12  -destkeypass 123456

参数解释:

  • -destkeystore as2_certs.p12 :将证书导入到名为as2_certs.p12的目标证书库
  • -deststorepass test1234:设置目标证书库的密码为test1234
  • -srckeystore newcerts.pfx:被导入的证书放在newcerts.pfx文件里
  • -srcstorepass newcertpass:被导入的证书库密码为newcertpass
  • -srcalias 1:被导入证书在证书库中的别名为1
  • -destalias mycert2019:导入目标证书库后,被导入证书的别名修改为mycert2019
  • -deststoretype pkcs12:目标证书库的格式为pkcs12
  • -destkeypass 123456:设置目标证书库中被导入证书的访问密码为123456

命令:

openssl s_client -state -key gateway.key -cert gateway.cer -CAfile ca.cer -connect xxx-hub-b2b2.xxx.com:443 –crlf

参数解释:

1.私钥文件,pem格式,保存在文件gateway.key中

2.证书文件,pem格式,保存在文件gateway.pem中

3.中级CA及根证书,pem格式,一起保存在文件ca.cer中