问题标签 [rsa-sha256]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
844 浏览

ssl - WAS7/8 上的 MQSC_UNSUPPORTED_CIPHER_SUITE 用于 tls_rsa_with_aes_128_cbc_sha256

尝试使用 SSL 在 WAS 7 和 8.5.5 上设置队列连接工厂

MQ 通道密码规范为 tls_rsa_with_aes_128_cbc_sha256。

但是每当我尝试将 WAS 上的相应套装指定为 ssl_rsa_with_aes_128_cbc_sha256 时,我都会得到一个 MQSC_UNSUPPORTED_CIPHER_SUITE。

密码 tls_rsa_with_aes_128_cbc_sha 工作得很好。(不是 SHA256)

我尝试在 WAS 上启用 TLSv1.2。

也尝试安装不受限制的罐子。

我错过了什么?期待听到..-AJ

0 投票
3 回答
5696 浏览

python - 如何在 python 中使用 RSA SHA-256 签署令牌?

我正在尝试用 python 编码一个 JWT,我需要用 base64 编码它,我做了。然后我必须在发送到服务器之前用私钥对其进行签名。其实我被屏蔽了,什么时候签不知道怎么签,从昨天开始就在网上搜索,有点迷茫。这是我的代码。

还有我的密钥格式,它是一个 RSA 私钥。

我给服务器crt.crt一个证书,我想我需要用我的私钥加密,然后他们将能够使用证书中的密钥解密消息,这就是我所理解的。

在此先感谢 G. B

0 投票
1 回答
3481 浏览

java - 来自公钥的 sha256 哈希

我正在尝试从公钥证书中读取 sha256。证书如下图所示。

我正在运行以下命令来读取 sha256 哈希,但它没有给出正确的结果:

我得到了一些错误的价值RTy7aSpufwRDWUudgZCwR5Xc7NETd6Imk4YlzvgKTRU=

正确的值为:

我想知道三个值是如何进来的,是的,只有一个是正确的,但是为了验证这些值,我确实运行了下面给出的示例程序:

添加错误的密钥哈希可以让我在错误日志中得到正确的哈希值,而使用正确的哈希值可以让我轻松沟通。


0 投票
1 回答
53 浏览

rsa - 使用随机生成的 KeyPair 进行 sha256WithRSA 签名的目的是什么?

我正在反转一个android apk,它使用http作为协议,每个http请求都包含一个时间戳和一个签名,例如:

参数签名是时间戳(1501234567890)的 sha256WithRSA 签名。我猜原因是它保证了数据包只能在一段时间内工作,并且用户不能修改时间戳,因为它不会通过签名验证。

但奇怪的是,apk 使用随机生成的 RSA KeyPair 对时间戳进行签名。apk在第一次启动时会生成KeyPair,我知道RSA验证需要public_key,但是apk不会将public_key发送到服务器(服务器不会知道public_key)。服务器如何验证它?

apk 生成 KeyPair,如下所示:

服务器不知道public_key时如何验证时间戳?

还是我错过了什么?

0 投票
0 回答
579 浏览

java - AMP 更新缓存请求返回 403

我正在尝试使用此文档实现 Google AMP 更新缓存请求。

我的实现

按照教程中的建议,首先我从https://cdn.ampproject.org/caches.json获取缓存信息,然后遍历这些缓存以执行更新。

单个缓存的简化代码(因为目前只有一个):

主要逻辑

签名功能

我的公钥在这里发布:https ://amp-frontend.dpo.styria-publishing.com/.well-known/amphtml/apikey.pub

该应用程序生成的 URL 如下所示: https ://amp--frontend-dpo-styria--publishing-com.cdn.ampproject.org/update-cache/c/s/amp-frontend.dpo.styria-publishing .com/octopus/5267614?amp_action=flush&_ts=1505218616&_url_signature=YiQ_ZEXq-FyoTQfk4YdL-n3rR0JqF6PQ8J86iCBcyNFino7t5_zSSqLR4vDoNz6o9Bj_5UbYFdpRa-J04MoL_-mizxo6M8OftcgbKjBNfgvXjG4SIzKZGxVWkBIWBLAoaEXqnkAeEsyyjBAxmX7Z3O4_GAY77Rqdb4vGKtbszSK5QHKmHAzRRYUnu2wMlYkPNTA_3yyHaZZPs0cRpksrDHLABZbGKgluMtL1lbKPSye1XK_9PBneATiSmSKlxuIyVqeFWlxwMgzEY5gz9QZCR0Tv1GvOZv6dAgqXnVR9t2vb2OYNqrR0_WO9BuNwpRu3Sz1OA1_FuukbL5G41cuj2w

我试过的

我什至尝试按照命令行中的签名步骤进行操作,但即使在此之后,我获得的 URL 仍返回 403。

我尝试遵循这个问题的提示(确保我使用 SHA256 并将 apikey 的内容类型设置为 text/plain,但它没有帮助)

我的问题

你知道为什么 Google AMP 仍然返回 403 吗?我怀疑我的 Base64 编码可能存在问题,因为文档对此不是很清楚,但我不确定。

编辑

我意识到函数构建的实现可能存在问题secondPartUrl- 特别是时间戳。我使用创建了时间戳ZonedDateTime.now(),这显然是错误的,因为我在与 UTC 不同的时区。但是,将其更改为Instant.now()没有帮助。

0 投票
0 回答
579 浏览

java - Java RSA 解密 BadPaddingException

我正在开发小型工具来加密和解密基于 RSA 算法的数据库。我使用 openSSL 创建私钥和公钥。然后导入java代码并加密和解密数据。首先,我使用follow命令生成公钥和私钥

接下来,从文件中获取公钥:

和文件中的私钥

然后加密

并解密

所以,加密成功,但在解密时,我得到了以下异常:

所以,没有-sha256 in public keywhen run openSSL,这个源代码可以正常工作。当我添加它时,我得到了上面的例外。

有什么解决办法吗?谢谢并恭祝安康。

0 投票
1 回答
1360 浏览

clickonce - 使用 mage.exe 和 Sha256 时间戳服务器 url 对 ClickOnce 应用程序进行签名

我在尝试使用 MAGE.exe 和 SHA256 RFC 3161 时间戳签署 clickonce(.application) 时遇到错误。

mage.exe -s /path/to/our/.application" -cf certfile -ti [RFC 3161 时间戳]

我收到以下错误:

“内部错误,请稍后再试。参数不正确。”

如果我尝试在没有时间戳或 SHA1 时间戳的情况下签名,一切正常。

您能否建议使用 SHA256 RFC 3161 时间戳对应用程序进行签名单击的正确方法

0 投票
1 回答
958 浏览

java - 从 XML 签名值中获取 sha1-hashed 值

我需要有人帮助我理解 XML 数字签名方法rsa-sha1。我想签名值 = RSA-encrypt(sha1(signedInfo), privatekey)。

注意 Base64.encode(sha1(signedInfo)) 包含 28 个字符。所以我认为 Base64.encode(RSA-decrypt(signaturevalue), publickey) 也应该返回 28 个字符。但是,我实际上得到了一个 48 个字符的字符串。

XML 文件中指示的签名方法

0 投票
1 回答
15220 浏览

python - ModuleNotFoundError:没有名为“加密”的模块

我安装了 Crypto 模块和 SHA256,但显示 ModuleNotFoundError :-

回溯(最后一次调用):文件“Digitalsig.py”,第 1 行,来自 Crypto.Hash 导入 SHA256 ModuleNotFoundError:没有名为“Crypto”的模块

这是参考代码

0 投票
1 回答
1281 浏览

c# - 如何解密和验证使用 SHA256withRSA 标准签名的签名?

所以我面临的问题是我正在向服务器发出请求,并且服务器正在通过 webhook 响应 -> 此通知可能需要一段时间才能回来。这就是为什么每次收到响应时,我都需要验证响应身份验证标头中发送的签名。

他们说他们使用以下方式生成签名:sign(apikey + nonce + timestamp + transactionid)

现在,显然我有 apikey,但我没有时间戳、nonce 和 transactionId 来验证签名是否正确。我不明白,那它甚至可以解决吗?

无论如何,他们说他们使用 SHA256withRSA (OID: 1.2.840.113549.1.1.11) 标准对其进行签名,因此我必须使用相同的东西来解密它。他们给了我他们的字符串公钥,没有别的(没有证书)。公钥格式为:

我没有在 C# 中找到任何现成的解决方案来解决这个问题,因为我不能只使用 RSA。我能做些什么来解密他们的签名并验证它真的是他们?