Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SSL证书X.509导出_Java_Ssl - Fatal编程技术网

Java SSL证书X.509导出

Java SSL证书X.509导出,java,ssl,Java,Ssl,我正在尝试使用Web服务,但我对证书有很多疑问,我在这个主题上是一个新手,开发Web服务的团队向我发送了一份文档,其中解释了如何使用它,但要启用连接,我需要使用证书(X.509),我从他们的网站上生成了p7b证书,我在本地环境中导入了该证书,使用Keytool-import它生成了一个JKS文件,但他们警告我应该安装“委托”(根和中间)证书,他们向我提供了我使用Keytool-import与这些.cer文件一起使用的证书,并且命令为每个文件生成了一个.JKS,我也安装了这些cer,我的问题是:

我正在尝试使用Web服务,但我对证书有很多疑问,我在这个主题上是一个新手,开发Web服务的团队向我发送了一份文档,其中解释了如何使用它,但要启用连接,我需要使用证书(X.509),我从他们的网站上生成了p7b证书,我在本地环境中导入了该证书,使用Keytool-import它生成了一个JKS文件,但他们警告我应该安装“委托”(根和中间)证书,他们向我提供了我使用Keytool-import与这些.cer文件一起使用的证书,并且命令为每个文件生成了一个.JKS,我也安装了这些cer,我的问题是:

  • 要使用该web服务,我需要在java、jks或p7b的实现逻辑中附加哪个证书文件

  • 如何在所有测试环境中使用此证书?(我不知道该证书是否只能在生成CSR的PC中使用)

我正在尝试用SOAPUI应用程序模拟调用,我收到了身份验证错误,因此证书可能出了问题


他使用windows证书库和.NET实现了所有这些,但他们无法为我提供对keytool的支持。

您试图归档的内容称为相互身份验证。为了理解基础知识,你需要理解人类只是简单地定义了一个密码,用相同的(对称的)密码锁定和解锁信息。每个知道一个密码的人都可以

  • 读留言
  • 重写消息以发送错误信息
  • 这是危险的。所以他们发明了两种不同的密码,一种用于写入(私有)密码,另一种用于接收(公共)密码,我们称之为不对称密码。非对称加密的问题是,您只能自由选择一个密码,相反的密码是计算出来的,不能自由选择

    最后,他们发明了证书来简化流程。证书包含打包到文件中的强密码。如果不查看证书,您就不知道密码是私有的还是公共的,这意味着p7b(pkcsv7b)和jks可以包含完全相同的信息。区别仅在于格式,就像
    .doc
    .docx
    之间的区别一样

    第二个问题 在大日本战争中,间谍是一件大事,他们在战术上收集对方的信息,并将这些信息发送给他们真正的领主,以发现战术/战略上的弱点。每当一个间谍被发现时,他就会变成一个双重间谍,伪造蜜罐,让军阀做出错误的决定,落入陷阱

    所以作为一个军阀,你必须信任你的代理人。。。但是,如何确定呢?嗯,你可以向其他代理询问你从哪个代理那里获得信息,以保证消息是可信的。因此,第一个代理也必须要求其他代理签署消息,代理之间的这个问题就是CSR!如果其他代理也签字,我们就有了“信任链”。好的,我们现在有四方,代理,签约代理,敌人(黑客)和你

    什么东西必须放在哪里?好吧,假设你是一个军阀(服务器)

  • 您需要信任库中所有客户端(代理)的公共密码才能向其发送消息(下载)
  • 您需要知道您的私人密码,以便对代理发送的消息(帖子、请求、上传)进行编码
  • 假设您是敌人防线(万维网的开放领域)内军阀的代理(客户端/浏览器),您必须存储:

  • 您的私钥,用于发送消息和签署其他代理的消息
  • 军阀的公钥,用于编码你主人的命令
  • 现在您已经了解到,证书可以包含私钥和公钥。技术上如何使用它们

    幸运的是,keytools是开源的,从grepcode()下载源代码,然后通过复制和粘贴实现

    关于相互身份验证的一些提示:

  • 服务器不应提供其公共证书,因为所有经过身份验证的客户端的信任库中都已经有公共证书(密钥)

  • 客户证书应以非电子方式发送(以射频码或其他形式打印)

  • 客户端应以两个单独的物理字母呈现服务器的公钥和客户端的私钥(您可能会注意到,如果使用电子现金卡(ec卡),您有两个字母,一个用于PIN,一个用于ec卡)


  • 您试图归档的内容称为相互身份验证。为了理解基础知识,你需要理解人类只是简单地定义了一个密码,用相同的(对称的)密码锁定和解锁信息。每个知道一个密码的人都可以

  • 读留言
  • 重写消息以发送错误信息
  • 这是危险的。所以他们发明了两种不同的密码,一种用于写入(私有)密码,另一种用于接收(公共)密码,我们称之为不对称密码。非对称加密的问题是,您只能自由选择一个密码,相反的密码是计算出来的,不能自由选择

    最后,他们发明了证书来简化流程。证书包含打包到文件中的强密码。如果不查看证书,您就不知道密码是私有的还是公共的,这意味着p7b(pkcsv7b)和jks可以包含完全相同的信息。区别仅在于格式,就像
    .doc
    .docx
    之间的区别一样

    第二个问题 在大日本战争中,间谍是一件大事,他们在战术上收集对方的信息,并将这些信息发送给他们真正的领主,以发现战术/战略上的弱点。Wh
     keytool -importkeystore -srcstoretype pkcs12 -srckeystore mykey.p12 -destkeystore mykey.jks