问题标签 [spongycastle]
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.
java - Java: BouncyCastle - SpongyCastle 和条件编译
感谢 Android 提供了自己的过时版本的 BouncyCastle 加密库,我的处境很糟糕。我已经建立了一个库,它将 REST 与我们自己的 Web 服务进行通信,其中数据由客户端动态加密和解密。客户端可以是 Android 上的移动应用程序,也可以是运行 Oracle Java 的桌面/服务器计算机。
对于 Android,我需要 SpongyCastle,而对于桌面/服务器,我需要 BouncyCastle,因为 SpongyCastle JAR 没有签名,Oracle 运行时不允许那些加密的东西。
问题是,无论使用什么库,代码都是完全一样的。由于包名称,只有导入不同。在 C 中,我会使用条件编译来包含特定于平台的标头,我知道在 Java 中没有那么多。尽管如此,有没有一种方法可以让我实现类似的东西,从几乎相同的来源创建两个构建?我真的很讨厌有两个完全相同但只有一些不同的导入的 .java 文件。这是维护的噩梦。
java - 使用 BC 从私钥计算 EC 公钥
在我的程序中,我可以使用 Spongy Castle(Android 的 Bouncy Castle 等效项)从 PEM 文件中成功恢复 EC 私钥。由于该文件不包含公钥,我试图从私钥重新计算公钥。
我能够计算出有效的公钥。但是,我的公钥包含的数据(311 字节)比我的原始参考(92 字节)多得多。这甚至超过了私钥(152 字节)。
如何获得公钥的压缩 (?) 版本
android - 使用 Spongy Castle(Bouncy Castle 发行版)在 Android 上生成有效的 ECDSA secp256r1/prime256v1 密钥对
我正在尝试在 Android 中使用 SpongyCastle 生成 ECDSA 密钥对。这是代码:
出了点问题,因为我总是得到类似公钥的例子:
3059301306072A8648CE3D020106082A8648CE3D03010703420004483ABA9F322240010ECF00E818C041A60FE71A2BD64C64CD5A60519985F110AEDE6308027D2730303F5E2478F083C7F5BB683DCAC22BFEB62F3A48BD01009F40
和私钥:
308193020100301306072A8648CE3D020106082A8648CE3D030107047930770201010420219AB4B3701630973A4B2917D53F69A4BE6DAD61F48016BFEF147B2999575CB2A00A06082A8648CE3D030107A14403420004483ABA9F322240010ECF00E818C041A60FE71A2BD64C64CD5A60519985F110AEDE6308027D2730303F5E2478F083C7F5BB683DCAC22BFEB62F3A48BD01009F40
站点ECDSA 示例给出了无效的 ECDSA 签名,它们似乎与较小的私钥非常不同,并且总是以在同一站点中生成的“04”公钥开头。
此外,我的后端验证给了我错误“无效点编码 0x30”
后端 Java 方法检查是:
android - Android: InvalidKeySpecException: encoded key spec not recognised
When I try to make RSA public key from string. I get exception mentioned below. I am trying to verify generated keys (string, using Swift) in Android. How to convert the string to private/public key?
Exception
public key in ios:
bouncycastle - 如何生成有效的 ECDSA EC 密钥对?
我正在尝试在 Android 中使用 SpongyCastle 生成 ECDSA 密钥对。这是代码:
出了点问题,因为我总是得到类似公钥的例子:
3059301306072A8648CE3D020106082A8648CE3D03010703420004483ABA9F322240010ECF00E818C041A60FE71A2BD64C64CD5A60519985F110AEDE6308027D2730303F5E2478F083C7F5BB683DCAC22BFEB62F3A48BD01009F40
和私钥:
308193020100301306072A8648CE3D020106082A8648CE3D030107047930770201010420219AB4B3701630973A4B2917D53F69A4BE6DAD61F48016BFEF147B2999575CB2A00A06082A8648CE3D030107A14403420004483ABA9F322240010ECF00E818C041A60FE71A2BD64C64CD5A60519985F110AEDE6308027D2730303F5E2478F083C7F5BB683DCAC22BFEB62F3A48BD01009F40
站点ECDSA 示例给了我“无效的 ECDSA 签名消息”,它们似乎与较小的私钥非常不同,并且总是以在同一站点中生成的“04”公钥开头。
此外,我的后端验证给了我错误“无效点编码 0x30”
后端 Java 方法检查是:
java - Android PrivateKey 到 BouncyCastle PrivateKeyInfo?
我正在尝试使用 Bouncy/SpongyCastle 的 OAEP 编码来解码一些包装数据。但是,用于初始化类的 SpongyCastle APIOAEPEncoding
需要CipherParameters
. 就我而言,我正在尝试使用 Android 解包某些东西PrivateKey
,所以我假设我需要以某种方式将密钥转换为AsymmetricKeyParam
并将其粘贴在OAEPEncoding.init
函数中。但是,我确实尝试过寻找类似的东西,但大多数示例都显示通过执行getPrivate().getEncoded()
. 但是,Android 不允许您获取原始私钥,所以我不确定如何处理这个...
编辑:我使用 BC 的 OAEP 类的原因是将 OAEP 与 SHA-256 一起使用
android - 从 base64 字符串 ECDSA 私钥创建 PrivateKey
我在 base64 中有 ECDSA 私钥字符串(我用这个https://stackoverflow.com/a/8571649/7661555答案中的正则表达式检查了这个字符串)。
我尝试从这个字符串生成 PrivateKey 实例。我在我的项目中包含 SpongyCastle,并尝试使用以下代码生成它:
但是当我运行这段代码时,我得到下一个异常:
W/System.err:java.security.spec.InvalidKeySpecException:无法识别编码的密钥规范
你能告诉我我做错了什么吗?
PS 生成 PrivateKey 后,我想用它签署另一个字符串。为此,我找到下一个代码:
这是正确的方法吗?或者这其中的某些东西会导致另一个例外?
android - SpongyCastle 私钥提取非常慢
我正在使用以下方法使用 Spongy Castle 从密钥中提取私钥:
然而,最后一行代码在 Android 上运行速度非常慢(大约 90 秒)。关于如何从加密的密钥中提取 PGPPrivateKey 有没有更好的方法?也许我在从 linux 导出密钥时犯了一些错误,但我认为这不是问题,因为我使用了简单的命令gpg --export-secret-keys > key.skr
。关于可能导致此问题的任何想法?
android - Android使用RSA公钥加密字符串
我正在一个项目中工作,我必须使用 RSA 公钥加密密码。我尝试了许多来自 SO 的示例和解决方案,如下所示
但不幸的是,在我的情况下,没有一个解决方案有效。如果我尝试解决任何问题,我会反复出现以下异常
错误日志:
我的要求:
我有一个公钥,我想用那个公钥加密在edittext中输入的文本。例如:Password@123 应该使用公钥加密。
公钥:
我试过的代码实现:
样品一:
样品二:
样品三:
任何帮助或建议都会对我很有帮助。提前致谢。
android - SpongyCastle 是否支持 DERObject 类?
我正在尝试在 Android 应用程序中使用以下类的等效项,其中我使用的是 Spongy Castle 1.54:
我不能 import org.spongycastle.asn1.DERObject
,BouncyCastle API 参考列表也不能DERObject
在弃用的类列表下。
Spongy Castle 根本不支持这个类吗?