问题标签 [rsa]

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 回答
807 浏览

cryptography - RSA 公钥文件类型检测

我得到了一个 RSA pubkey.dat(几乎很明显它是什么),它的内容结构如下:

  • ASN1 大约 1024 位的整数(模数)
  • ASN1 整数(指数)
  • 256 字节的 Blob(签名)

没有像“----begin---”这样的标签。纯十六进制值。

有什么方法可以识别它的格式,比如它是 DER/PEM/etc ,所以我可以用 python 加密库或 c++ 上的 crypto++ 打开它?

(或者如果它与我要检查的公共标准结构名称匹配)

似乎它不是 PEM,因为 M2crypt 无法加载它。

提前致谢。

0 投票
2 回答
838 浏览

licensing - PHP 中的 RSA_sign 或 DSA_sign!

我将在我的网站上实现许可证密钥生成器,但我对 php 的了解很少!在我的(Cocoa)应用程序中,我集成了一个使用 RSA_sign 函数(在 C# 中)的系统验证......我想使用 paypal IPN 通知系统自动生成并向我的用户发送他们的许可证密钥......但是我真的不知道如何使用 RSA 密钥在 php 中对字符串进行签名!!!在 php 中,我只知道 openss_sign 函数,但它不是一回事!还是更好、更容易使用 DSA 签名方法???

请帮忙!

先谢谢大家的回复!!!

0 投票
2 回答
881 浏览

php - PHP许可证生成器保护与paypal IPN冲突?

我将在我的网站中集成一个许可证密钥生成器,它可以在发生贝宝通知(IPN)时自动生成许可证密钥......但我的问题是:保护 php 的最佳方法是什么文件(包含用于生成密钥的方法)和私有文件(.pem 文件)?

提前致谢!

0 投票
4 回答
5240 浏览

c# - 在 C# 中解密使用 RSA 在 iPhone 上加密的内容时遇到问题

到目前为止,我已经为此花了两天时间,并梳理了我可以使用的所有资源,所以这是最后的手段。

我有一个 X509 证书,其公钥存储在 iPhone 的钥匙串中(此时仅模拟器)。在 ASP.NET 方面,我在证书存储中使用私钥获得了证书。当我在 iPhone 上加密一个字符串并在服务器上解密它时,我得到一个CryptographicException“坏数据”。我尝试了页面中的Array.Reverse建议RSACryptoServiceProvider,但没有帮助。

我比较了两边的base-64字符串,它们是相等的。我在解码后比较了原始字节数组,它们也是相等的。如果我在服务器上使用公钥加密,字节数组与 iPhone 的版本不同,并且很容易使用私钥解密。原始明文字符串为 115 个字符,因此它在我的 2048 位密钥的 256 字节限制之内。

这是 iPhone 加密方法(从CryptoExercise 示例应用程序的方法中几乎一字不差wrapSymmetricKey):

这是服务器端 C# 解密方法:

我怀疑平台之间存在一些编码问题。我知道一个是大端,另一个是小端,但我不知道哪个是哪个或如何克服差异。Mac OS X、Windows 和 iPhone 都是 little-endian,所以这不是问题。

新理论:如果将 OAEP 填充布尔值设置为 false,则默认为 PKCS#1 1.5 填充。SecKey只有、、和SecPadding的定义。也许 Microsoft 的 PKCS#1 1.5 != Apple 的 PKCS1 等填充会影响加密的二进制输出。我尝试与set to一起使用,但仍然无法正常工作。PKCS1PKCS1MD2PKCS1MD5PKCS1SHA1kSecPaddingPKCS1fOAEPfalse显然,kSecPaddingPKCS1相当于PKCS #1 1.5。回到理论的绘图板......

其他新尝试的理论:

  1. iPhone 上的证书(.cer 文件)与服务器上的 PKCS#12 包(.pfx 文件)并不完全相同,因此它永远无法工作。在不同的证书存储中安装了 .cer 文件,并且服务器加密的字符串往返就好了;
  2. 转换为 base-64 和 POST 到服务器的行为导致了同一个类往返中不存在的奇怪,所以我首先尝试了一些 URLEncoding/Decoding,然后从 iPhone 发布原始二进制文件,验证它是相等的,并得到相同的坏数据;
  3. 我的原始字符串是 125 字节,所以我认为它可能会在 UTF-8(长镜头)中被截断,所以我将其裁剪为 44 字节的字符串而没有结果;
  4. 回顾 System.Cryptography 库以确保我使用了适当的类并发现了“RSAPKCS1KeyExchangeDeformatter”,对新的前景感到高兴,当它的行为完全相同时感到沮丧。

成功!

事实证明,我在 iPhone 模拟器上的钥匙串中有一些东西弄脏了水,可以这么说。我删除了 Keychain DB 以~/Library/Application Support/iPhone Simulator/User/Library/Keychains/keychain-2-debug.db使其重新创建并且工作正常。感谢您的所有帮助。数字这将是一些简单但不明显的事情。(我学到了两件事:1)从模拟器中卸载应用程序不会清除其钥匙串条目,2)定期重新启动。)

注意:钥匙串文件的通用路径取决于 iOS 版本:~/Library/Application Support/iPhone Simulator/[version]/Library/Keychains/keychain-2-debug.db 例如,~/Library/Application Support/ iPhone模拟器/4.3/Library/Keychains/keychain-2-debug.db

0 投票
2 回答
10006 浏览

python - 使用 OpenSSL 生成的密钥进行 Python RSA 解密

有谁知道使用 Python 库导入 OpenSSL RSA 私钥/公钥(使用密码)并使用它来解密消息的最简单方法。

我查看了 ezPyCrypto,但似乎无法让它识别 OpenSSL RSA 密钥,我尝试使用 importKey 导入密钥,如下所示:

在我的例子中,myKey 是一个 OpenSSL RSA 公钥/私钥对,表示为一个字符串。

这不同意:

必须使用键实例作为第一个参数调用未绑定方法 importKey()(改为获取 str 实例)

API 文档说:

importKey(self, keystring, **kwds)

有人可以建议我如何阅读使用 ezPyCrypto 的密钥吗?我也试过:

但这不符合:

ezPyCrypto.CryptoKeyError:尝试导入无效密钥,或密码错误

此处链接到文档:

http://www.freenet.org.nz/ezPyCrypto/detail/index.html

编辑:只是对此的更新。成功导入了 RSA 密钥,但由于 eqPyCrypto 不支持 AES 分组密码,因此在解密时遇到了真正的问题。只是让人们知道。我成功地使用 ncrypt ( http://tachyon.in/ncrypt/ ) 完成了我想做的事情。由于 SWIG 和 OpenSSL 编译问题,我在使用 M2Crypto 时遇到了一些编译问题,尽管安装的版本超过了最低要求。目前看来,Python 加密/解密框架有点像雷区。呵呵,谢谢你的帮助。

0 投票
1 回答
315 浏览

python - 用python加密

如果我想使用:

那么它将如何检索密钥?recip 会打印什么?

我需要从服务器(开放密钥服务器)获取收件人的公钥,首先我需要将密钥存储在服务器上。

0 投票
5 回答
5915 浏览

encryption - 产生非常大的素数

我正在玩耍并尝试编写 RSA 的实现。问题是我一直在生成大量质数,这些质数涉及生成密钥对。有人能指出一种快速生成巨大素数/可能素数的方法吗?

0 投票
3 回答
6849 浏览

c# - 在托管环境中使用 RSACryptoServiceProvider 或 RSA

我想使用公共/私人加密,我的网络应用程序将使用私钥签署 xml 文档或一段数据,并将使用公钥在应用程序中对其进行验证,

如果没有其他可能的解决方法,是否可以在 .net 2.0 托管环境中使用 RSACryptoServiceProvider?

0 投票
9 回答
31190 浏览

.net - 是否可以使用.net RSACryptoServiceProvider 使用私钥加密?

我知道 RSACryptoServiceProvider 可以用公钥加密,然后可以用私钥解密。

是否可以使用 RSACryptoServiceProvider 使用私钥加密并使用公钥解密?

0 投票
2 回答
5991 浏览

c# - ProtectSection 和 RsaProtectedConfigurationProvider 密钥在哪里?

我正在使用 System.Configuration 来加密和保护自定义配置部分中的一些密码:-。

这似乎工作正常,但我的文档需要一些额外的信息。

密钥存储在哪里?

钥匙有多长?