- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 PKCS#11 使用 JarSigner 对 JAR 文件进行 RSA-PSS 签名。 JarSigner 使用 sigalg 标志来指定签名算法。 JDK 14 Docs of the JarSigner没有指定明确支持哪些信号。我已经测试过 JarSigner 接受“RSASSA-PSS”作为有效算法。 JarSigner 不接受 Java 加密服务提供程序(例如 SunPKCS11 加密服务提供程序)通常支持的“SHA256withRSASSA-PSS”或类似的 RSASSA-PSS 变体。
当尝试使用 sigalg "RSASSA-PSS"签名时,JarSigner 返回jarsigner: unable to sign jar: java.security.SignatureException: Parameters required for RSASSA-PSS signature
此异常意味着未设置 PSS 参数。我已将问题追溯到 JarSigner
最佳答案
似乎尚不支持此功能。我可以用 jarsigner
重现这种行为命令行工具和 Java 代码如下:
import jdk.security.jarsigner.JarSigner;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.security.*;
import java.security.cert.CertPath;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.util.Arrays;
import java.util.zip.ZipFile;
class JarSignerDemo {
public static void main(String[] args) throws IOException, CertificateException, NoSuchAlgorithmException, KeyStoreException, UnrecoverableKeyException {
char[] password = "changeit".toCharArray();
KeyStore keyStore = KeyStore.getInstance(new File("keystore.jks"), password);
PrivateKey privateKey = (PrivateKey) keyStore.getKey("mykey", password);
CertPath certPath = CertificateFactory.getInstance("X.509").generateCertPath(Arrays.asList(keyStore.getCertificateChain("mykey")));
JarSigner jarSigner = new JarSigner.Builder(privateKey, certPath)
.digestAlgorithm("SHA-256")
.signatureAlgorithm("RSASSA-PSS")
.build();
try (
ZipFile jarFile = new ZipFile("my.jar");
FileOutputStream signedJarFile = new FileOutputStream("my-signed.jar")
)
{
jarSigner.sign(jarFile, signedJarFile);
}
}
}
Exception in thread "main" jdk.security.jarsigner.JarSignerException: Error creating signature
at jdk.jartool/jdk.security.jarsigner.JarSigner.sign(JarSigner.java:573)
at JarSignerDemo.main(scratch_3.java:28)
Caused by: java.security.SignatureException: Parameters required for RSASSA-PSS signatures
at java.base/sun.security.rsa.RSAPSSSignature.ensureInit(RSAPSSSignature.java:295)
at java.base/sun.security.rsa.RSAPSSSignature.engineUpdate(RSAPSSSignature.java:346)
at java.base/java.security.Signature$Delegate.engineUpdate(Signature.java:1393)
at java.base/java.security.Signature.update(Signature.java:902)
at java.base/java.security.Signature.update(Signature.java:871)
at jdk.jartool/jdk.security.jarsigner.JarSigner.sign0(JarSigner.java:841)
at jdk.jartool/jdk.security.jarsigner.JarSigner.sign(JarSigner.java:562)
... 1 more
它看起来像
JDK-8245274旨在将此功能添加到 Java 16。我不是 100% 确定,但它看起来像您的问题。你可能想看。
关于java - 将 JarSigner 与 RSASSA-PSS 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64174607/
我需要使用带有 EMSA-PSS 编码的 RSASSA-PSS 对数据进行签名。openssl 不支持此算法。可以告诉我是否有任何其他开源库可用于执行此操作......? 最佳答案 Crypto++提
我想分 2 个步骤使用 SHA256withRSA/PSS 签名,首先我散列一条消息,然后用 RSASSA-PSS 签署摘要 byte[] document = {0, 1, 2, 3,
AS(5):RSA-PSS 算法简介 2018年发布的 TLS v1.3(TLS:Transport Layer Security,传输安全层协议,TLS v1.3 对应 RFC
有谁知道RSACryptoServiceProvider.SignHash用的是什么签名算法? ?我相信它是 RSAPKCS1,它仍然安全吗? 有没有人想过在不使用 BouncyCaSTLe 等第三方
我正在尝试在 python2.7 中查找 RSASSA-PSS-2048-SHA256 数字签名算法。 目前我的代码是这样的: def calc_rsassa_pss_2048_sha256(self
据我所知,由于内存共享,有多种指标可用于衡量 Linux 进程的内存使用情况(VSS、RSS、PSS、USS)。 PSS 表示比例集大小,USS 表示唯一集大小。 但是我对PSS有两种理解:1)PSS
我有一个问题。 Crypto 在 .net 中的使用如下。我有一个 .pem 文件,我可以将其解析为私钥并想签署一些数据字节。我使用的代码如下: byte[] pemkey = Convert.Fro
我正在尝试使用建议的 dalvikPss 值查找每个正在运行的应用程序和服务的相对内存使用情况 here 正如那里所建议的,我需要总结所有正在运行的进程的 PSS 值。我的问题是,如何获取所有正在运行
这个问题已经有答案了: Android : PSS (Proportional Set Size) Calculation (1 个回答) 已关闭 8 年前。 我想问你: 据我所知,在 Linux 上
我想弄清楚 Android 的 PSS 是如何计算的。 我找到一个 article说明如下。 The "proportional set size" (PSS) of a process is the
我正在尝试使用 PKCS#11 使用 JarSigner 对 JAR 文件进行 RSA-PSS 签名。 JarSigner 使用 sigalg 标志来指定签名算法。 JDK 14 Docs of th
我正在研究 PKSC1V2.2 RSASSA-PSS 签名方案。我得到了一些用于最终结果测试的标准测试 vector ,但我的结果不匹配。要检查我的代码哪里出了问题,我需要一些具有中间结果的测试 ve
我使用 smem 命令查找进程的 PSS/USS 编号。 根据 smem 手册页,“非共享内存 (USS) 加上进程的共享内存比例被报告为 PSS(比例集大小)。” 现在计算PSS的时候,是不是把所有
我阅读了关于 VSS/RSS/PSS/USS 的说明: 本文的目的是提供有助于解释各种工具的内存报告的信息,以便确定 Linux 进程和系统的真实内存使用情况。 Android 有一个名为 procr
我正在使用 RSA_PKCS1_PSS_PADDING 生成 RSA 签名。我使用 EVP_get_digestbyname() 和 EVP_DigestSignInit() 将摘要算法设置为 SHA
我已将其归结为最简单的测试用例。我需要采用在 Python 中生成的 RSASSA-PSS 签名并在 Go 中验证它们。创建 RSA key 对并用它签名的 Python 代码如下: >>> from
似乎(通过查看 Linux 内核 source)Swap: 中的指标 /proc/pid/smaps 是给定可访问的总交换pid. 在涉及共享内存的情况下,这似乎是对实际交换使用情况的过度估计。例如,
我想在消息上签名。 我正在使用 BouncycaSTLe(更准确地说,Android 版本,SpongyCaSTLe)。 我的代码如下: Signature instance = Signature.
如果你运行 adb shell dumpsys ,输出包含这样的部分: App Summary Pss(KB)
我需要使用 SHA256 HASH 函数和带有 RSA EMSA-PSS 编码的 RSASSA-PSS 创建数据字符串的签名。openssl 支持这个吗? 我正在使用 API 创建签名 int RSA
我是一名优秀的程序员,十分优秀!