2014-12-04 24 views
0

我最近创建了一个小程序,当我将它嵌入到我的站点中时,Java会阻止它,因为它没有由受信任的权威机构签名。使用可信证书为我的小程序签名

我已经从CACert(.crt & .cer文件)下载了一个认证,并且我有我的jar文件(FollowMe.jar)。

经过几个小时在谷歌上搜索如何用crt文件签署jar文件我仍然无法做到这一点。有人可以帮我吗?这太令人沮丧了。

+0

请添加更多的信息去帮助别人来帮助你。例如你如何签署它,任何代码,链接到你试图使用的网站。 – Ruskin 2014-12-04 18:54:27

回答

-1

下面是做事的常用方法:

keytool -import -trustcacerts -alias appletCert -file CAcert.crt 
jarsigner "C:\path\FollowMe.jar" appletCert 
+0

首先感谢您的答复。我试过命令,它给了我一个错误:“非法选项 - jarsigner” – kskyriacou 2014-12-04 20:12:56

+0

拍摄应该有一个新行 jarsigner“C:\ path \ FollowMe.jar”appletCert – anonymous 2014-12-04 20:55:53

+0

@anonymous您没有正确格式化它。这也是无稽之谈。除非有一个具有该别名的私钥,否则它将不起作用,并且如果有私钥,则不需要'-trustcacerts'参数。 – EJP 2014-12-06 22:26:52

0

要登录你的问题,你需要用私有密钥(通常在PCKS12JKS格式)密钥库罐子它不是我清楚,如果你有一个私钥或不是因为你评论说:

I have downloaded a certification from CACert

它听起来有点混乱给我,anywise我假设你有一个正确的密钥库,将签署你可以使用使用jarsigner这是后续指令罐子FO UND在$JAVA_HOME/bin

jarsigner -keystore [yourKeystore] -storeType [PKCS12 or JKS] [yourApplet.jar] [keyAlias] 

如果像我怀疑你想签订没有你已经知道,这是不可能的私钥的证书的罐子,你需要一个私钥来执行此操作。您是在后续选项:

  1. 生成使用keytool与自署名证书密钥对(这也是在$JAVA_HOME/bin)用如下命令如下:

keytool -genkey -keyalg [RSA or another] -alias [yourkeyalias] -keystore [yourkeystore.jks] -storepass [keystorePassword] -validity [validity period for your certificate in days] -keysize [key size for algorithm in RSA for example 2048]

然后填写关于提示证书的主题DN。

请注意,使用自签名证书,您可以生成密钥库来进行测试来签署您的jar然而为了让jvm将您的applet识别为可信,您不能使用自签名证书对applet进行签名,而必须签署它带有一个密钥和一个可信证书颁发机构签署的用于Java代码签名的证书。所以看第二个选项。

  • 生成密钥和一个csr(证书签名请求),并向其产生代码签名的java证书来签名csr和生成的证书的证书授权的请求。然后将证书,密钥和证书链放到密钥库中,并使用jarsigner命令对jar文件签名。您可以在许多java代码签署供应商之一看到说明,例如Symantec,Thawte,Digicert,Globalsign, Entrust或其他一些(您可以通过google进行搜索:)。
  • 希望这有助于

    +0

    我会试试这个,谢谢! – kskyriacou 2014-12-08 16:47:41

    +0

    @kyriacoss终于可以帮助你吗? – albciff 2014-12-12 09:53:21

    相关问题