问题标签 [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.

0 投票
1 回答
2233 浏览

android - Spongycastle 在 android 上加载时缺少许多算法

在这个 stackoverflow 答案中,您可以看到打印所有可用提供程序和相应算法的代码:如何找出我的 JVM 支持的算法 [加密]?

我正在使用最新版本的 spongycastle,当我要求在 android 上获取 Spongycastle(“SC”)的算法时,我只得到了少数算法。事实上,我得到了这个非常有限的列表

另一方面,当我要求在我的 linux 机器上获取 SC 的算法时,我得到了更多的算法。我没有数过它们,但它比你在上面看到的要长 10 倍。

其他所有算法都去了哪里??

因为这个项目不是一个典型的 android-java 项目,而是一个 Android-Scala 项目,所以我必须在每次执行时使用Proguard 。这对缺失的算法有什么作用还是别的什么?

Note1:我使用 SC 生成密钥对,使用 OpenPGP 加密和解密

注2:源代码经过测试,在使用 OpenJDK-6、RSA 算法用于公钥加密和 BLOWFISH 算法作为随机对称密钥的 linux 机器上完美运行

0 投票
1 回答
2331 浏览

android - 在 ECDH 中使用 Spongy Castle 库生成密钥对

我是台湾学生。我正在学习如何在 Android 中编程。但我有一个关于使用 Spongy Castle 库在 ECDH 中生成密钥对的问题。当我启动应用程序时,android 系统显示应用程序已停止。

这是我的代码和我的导入

请帮忙。

0 投票
1 回答
1908 浏览

android - iText SpongyCastle 错误

我已经使用各种版本的 itext 进行了尝试,包括带有试用许可证的 itextgoogle,当我尝试运行我的代码时,我不断收到以下错误:

错误是:

我听说我需要自己构建 iText,但我不确定从哪里开始/如何做。我发现的罐子的文件名不是很有描述性。

0 投票
2 回答
1761 浏览

android - 等效于 ios 的 spongycastle 加密

这让我很难过——以下代码使用 SpongyCastle 的 Android 加密/解密——我正在尝试实现 iOS 的跨平台加密/解密。

以下代码(来自Android)使用提供的盐和密码(来自Android)使用提供的盐和密码进行处理,使用提供的盐和密码,密码由最终用户提供,以下代码改编自此kelhoer的回答。

我使用 AES128bit 的原因是 AES256 在 iOS 4+ 中不可用,它是在 iOS5+ 中引入的,并且不得不涉足使用openssl来生成派生密钥和初始化向量 (iv),据了解苹果拒绝与 openssl 库静态链接的应用程序。

由于该平台基于 iOS 4.2+,因此采用捆绑和静态链接 openssl库的做法似乎有些过头了,最好使用 CommonCryptor 库。

这是带有 Spongycastle 代码的 Android 版本:

但是在 iOS 4.2(使用 XCode)下,我无法弄清楚如何做等价的,

这是我在Objective C下尝试过的,目的是从Android端解密存储在mysql数据库中的数据,以进行测试:

已提供数据和用户密码,并从中获取返回码CCCrypt-4304指示不成功和错误解码。

我曾认为编码方案可能会抛弃 CommonCryptor 的解密路由,因此转换为NSASCIIStringEncoding.

Salt 与密码数据一起存储,长度为 32 字节。

请记住,我在这方面缺少什么,我在密码学方面很薄弱。

0 投票
1 回答
2841 浏览

android - 将 Spongycastle 与 Proguard 一起使用

我一直在努力让 Proguard 让 Spongycastle 工作。大多数情况下,当我导出已签名的 APK 时,问题就出现了,要么我有错误,要么应用程序在启动前就会崩溃。

因此,我设法收集信息以获得有效的 proguard 配置:

我正在运行ADT 版本:22.0.0.v201305140200--675183 测试手机在 Android 2.3.5 下

借用我的部分是“ -keep class org.** { *; }”....我做得对吗?我试过“ -keep class org.spongycastle.** { *; }”,但应用程序在启动前就崩溃了......

谢谢 !

0 投票
1 回答
2266 浏览

android - 使用 SpongyCastle 的 Android 版 ECDSA

我刚刚为我的 Android 项目将 SpongyCastle 添加到 Eclipse,但是我似乎无法找到一个好的/完整的示例来说明如何使用 ECDSA 对纯文本进行加密解密。我想这应该是加密库的“hello world”。

谁能帮我这个?或将我引向可以帮助我实现相同目标的其他资源?

谢谢。

0 投票
1 回答
1422 浏览

android - Android - 放置“addProvider”/“Security.insertProviderAt”代码行的最佳位置在哪里

我想在 Android 应用程序中放置以下代码的最佳位置是:

有些人在 的子类中Application这样做,但我真的不想子类Application

提前致谢。

0 投票
1 回答
1926 浏览

android - java.io.IOException:在 Android 项目的 Maven 构建中运行 ProGuard 时无法处理类

我使用一个名为 iText 的库将新信息写入现有 PDF。为了加密 PDF,iText(适用于 Android)使用名为 SpongyCastle 的库,它是 BouncyCastle 的 Android 端口。不幸的是,iText 和 Spongycastle 都包含大量的方法(15k+)。在 Android 中,您可以使用的方法数量有一个硬性限制(64k)。幸运的是,iText 并没有使用 Spongycastle jar 中的很多类。

我能够解压缩 Spongycastle jar 并删除 iText 不使用的所有类并重新压缩文件。

一切都很好,直到我在 Maven 构建中运行 proguard 以生成最终的 apk。我得到以下对我没有意义的 IOException。

非常感谢您帮助解决此错误。

先感谢您。我还包括了 proguard.cfg 中引用 bouncycastle 的部分。

0 投票
1 回答
1273 浏览

java - Android 上生成的不同 RSA 公钥

我能够在我的 Java 桌面环境中生成一个公钥,我得到了这样的东西

Sun RSA public key, 1024 bits modulus: 101700973019391285593457598101942678753508114287289699162184623605939671495532511783006850112834969917970271633181351680298749946797462542179729127916916336425952724141383800466274935950042225686754068132826643586090512962724382324158485291344703936377718522573879330753020035687831145457530843148690890911921 public exponent: 65537

但在 Android 设备上,当我将密钥作为字符串获取并用于KeyFactory生成公钥时,我得到以下信息:

OpenSSLRSAPublicKey{modulus=90d3b5cefc50dc42828cee8d718876f7573b4c9287dddf808e73cb66266c2004165217f86d0f0192de0bb88b3aac2002303ee8b1c926e9bc54189a5ec5a12bb293df0b3c6ff2458a63098f712f0b72218ce301c38de3971ae8c6c646160a5e2e24dc07679e5a82ada1233ecf5eca3d0d1f483d1c9f059 a23deed537c670b70b1,publicExponent=10001}

密钥有差异。我试过 SpongyCastle。我仍然在 Android 上获得 OpenSSL 结果。

我错过了什么?

0 投票
2 回答
1580 浏览

java - 从坐标创建椭圆曲线点对象

我有一个点的 x 和 y 坐标以及曲线的名称。我现在想从中创建一个org.bouncycastle.jce.interfaces.ECPublicKey对象,自动使用提供的实现。目标是无论是否使用 bouncycastle 或其 Android 端口 spongycastle 都能够创建对象。

这就是我现在正在做的事情。问题是,海绵城堡中不包含 EC5Util 类。我想有一个解决方案,使用可能只有一个我必须调用的方法的工厂。那可能吗?