当前位置: 首页 > 面试题库 >

如何用.pfx文件签名Java Applet?

席俊
2023-03-14
问题内容

我正在尝试使用本指南
(以及互联网上的其他一些指南)使用我们公司的.pfx证书签署一个jar
applet档案:http :
//www.globalsign.com/support/ordering-
guides/SignJavaCodeAppletsPFX.pdf

一切似乎都很好,但是当我尝试不通过浏览器运行apple时,我看到
“ Publisher”是UNKNOWN(不受信任)。当我转到详细信息时,我可以看到正确的公司
名称和证书供应商(GlobalSign)。为什么它不能正确显示为已知/可信?

对我来说可疑的一件事是命令
jarsigner -verify -verbose -certs Applet.jar的输出:

  (...)
  sm      1936 Wed Apr 13 03:00:50 CEST 2011 org/my/Applet.class

  X.509, CN=CompanyName, O=CompanyName, L=Tilst, ST=ProperState, C=DK
  [certificate is valid from 18.02.10 14:58 to 18.02.13 14:58]

  s = signature was verified 
  m = entry is listed in manifest
  k = at least one certificate was found in keystore
  i = at least one certificate was found in identity scope

因此看起来好像缺少“ k =在密钥库中至少找到一个证书”
(应该是smk,它是sm)。它仅部分签名吗?或者是什么?

GlobalSign给我的.pfx文件是否可能由于某种原因而错误
,不足以签署小程序?对于普通的可执行html" target="_blank">文件,它工作得很好…

有任何想法吗?;)

编辑

@Jcs

看来您完全正确。我用keytool检查了我的PFX文件,然后得到:

Your keystore contains 1 entry

Alias name: company_alias
Creation date: Apr 13, 2011
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:

所以看起来链条不完整。
我不确定是否重要,但也有一些扩展,例如:

#1: ObjectId: (some_numbers_here) Criticality=true
KeyUsage [
  DigitalSignature
]

#2: ObjectId: (some_numbers_here) Criticality=false
AuthorityInfoAccess [
  [
   accessMethod: (some_numbers_here)
   accessLocation: URIName: http://secure.globalsign.net/cacert/ObjectSign.crt]
]
(...)

问题是:我的PFX文件是完全错误的,还是我需要在其中添加globalsign根?


问题答案:

非常感谢所有人,尤其是Jcs :)
我终于发现.pfx文件只是被不正确地导入。
我要求老板从头开始为我导入它,并包括所有可能的路径/链/证书,现在它可以工作了:)
所以,如果有人遇到类似的问题,我的建议是尝试再次获取/导入证书
-这是证书的问题本身比用签名方法



 类似资料:
  • 找到apk文件签名的最简单方法是什么?请注意,我不是在问代码。我只想从我的电脑上找到它。像这样的签名975yYkKAQF KST7g3ASHvHkYopq=

  • 正如我从https://docs.oracle.com/javase/tutorial/deployment/jar/intro.html了解到的,使用jarsigner签署jar文件的过程如下: > 清单文件用每个文件的哈希列表更新: 名称: com/qark/util/files/diff/用户界面/main/DiffMergeFrame.classSHA-256-Digest: GZgPXG

  • 我的成绩档案里有这个: 然后,当我生成我的发行版APK时,我只需转到,就创建了APK。与转到不同,它会提示我输入以下内容: 我的问题是,我当前的gradle文件用什么版本的签名生成?是V1还是V2?我如何修改我的gradle文件,以使它特定地构建与V1或V2?

  • 我正在编写一个服务,其中我用一个空容器预签名pdf文件,从pdf文件中提取一个字节范围的散列,并将其发送到另一个服务,这将允许用户使用移动电话对散列进行签名。我拿回一个证书,我将注入到预签名pdf文件中的签名容器中。 签名本身起作用,数字签名是有效的,但我只需要更改可见签名本身的文本。我认为这是可能的,因为可见签名实际上与证书本身没有任何关系,所以显示来自证书的名称只是一种方便,特别是在多个签名的

  • 我正在尝试创建一个。p12不包含有效标识(公钥/私钥对)的文件,用于测试我的应用程序的证书导入功能。是否可以使用openssl工具执行此操作? 我已经试过了 但我有一个错误: 如果无法使用openssl进行此操作,是否可以使用其他工具?

  • 问题内容: 我有Java Web服务,并已使用Java Keytool创建的jks文件实现了X.509。 为了在客户端和服务器之间建立信任,我将服务器证书导入到客户端,并将客户端证书导入到服务器。 将服务器公钥(证书)导入客户端。 将客户端公钥(证书)导入服务器 Service和Client都是用Java编写的,并且运行良好。现在我有一个.NET客户端,我的理解是,如果我向.NET客户端(即cli