问题标签 [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 - 处理 AndroidStudio 中的重复条目:java.util.zip.ZipException
编辑:来自错误的解决方案:java.util.zip.ZipException:重复条目在这里不起作用,因为我对 support-v4 模块没有问题
我正在尝试构建一个使用 SpongyCastle 的 Android 项目,但不幸的是它需要库中的javax.naming
包jndi
。我添加了 jndi 甚至 javaEE 以使其工作,但是 gradle 运行项目仍然存在问题(构建成功)
我的 gradle.build 文件:
Gradle 抛出此错误:
当我试图排除javax.mail
我javax:javaee-api:7.0
得到:
我在哪里可以找到这个 javax.mail 的副本,顺便说一句,我什至不需要?
android - Android Spongy Castle Gradle 依赖项
我是密码学的新手。我想使用 Spongy Castle 加密(AES)文件并将其写入磁盘。我需要.gradle
文件中的所有四 (4) 个依赖项吗?
android - Spongey Castle 自签名证书与 Android KeyStore?
我正在尝试创建一个自签名证书。我想这样做是为了将 Spongey Castle KeyPair 存储到“AndroidKeyStore”中。签名需要是带有 SHA-256 摘要的 P-256 的 ECDSA。
当我使用上述方法 genSelfSignedCert() (取自 ProgramCreek.com)
我得到:
为什么这种方法会创建一个算法与其密钥对不匹配的证书?
java - Android SpongyCastle ECDH secp384r1 密钥大小不正确
我正在尝试在 Android 上使用 SpongyCastle 来生成 ECDH secp384r1 公钥/私钥对。我遇到的问题是,我生成的密钥太大了。
公钥为 120 字节,私钥为 194 字节。显然这里正在进行某种编码。我不想要所有这些额外的信息,我正在寻找 49 字节和 48 字节压缩的公钥/私钥。
这是我生成密钥的方式:
我走这条路是因为我之前使用 CryptoPP 和 NDK 来生成密钥对并提取共享密钥,您可以在此处查看示例。
但是我遇到了一个问题,让 CryptoPP 在 Android Marshmallow 上工作,所以现在我求助于 SpongyCastle。
主要问题是,这需要与已经使用 CryptoPP 实现的 iOS 应用程序一起使用,所以我需要弄清楚如何使该版本与该版本保持一致,如果可能的话。
基本上我需要一个 Java SpongyCastle 实现,它与以下 C++ cryptopp 实现一致:
第一步是我需要弄清楚如何从 SpongyCastle 实现中提取 49 和 48 字节的压缩密钥。
之后,使用这些密钥提取共享秘密将是优先事项。我对 Encryption 和使用这些库很陌生,所以这里的任何帮助将不胜感激。
android - Android Authenticator 存储加密安全令牌
我正在使用海绵城堡 PKCS10CertificationRequest CSR 向 RESTful 证书颁发机构进行身份验证。我正在考虑使用 Android Authenticator。
根据:https ://stuff.mit.edu/afs/sipb/project/android/docs/training/id-auth/custom_auth.html#Security
重要的是要了解 AccountManager 不是加密服务或钥匙串。它以纯文本形式存储帐户凭据,就像您传递它们一样。在大多数设备上,这不是一个特别的问题,因为它将它们存储在一个只能由 root 访问的数据库中。但是在有根设备上,任何对设备具有 adb 访问权限的人都可以读取凭据。
考虑到这一点,您不应将用户的实际密码传递给 AccountManager.addAccountExplicitly()。相反,您应该存储一个对攻击者来说用途有限的加密安全令牌。
我的问题:我不确定在这种情况下存储加密安全令牌是什么意思。这个令牌在 Android Java 中是什么样的(它的类型?)?以及存放在哪里?在钥匙串里??除了 addAccountExplicitly() 中的 pw 之外,该令牌是否在任何其他上下文中使用?
android-studio - 将 spongycastle 作为提供程序添加到 Android Studio
我尝试将 SpongyCastle 作为库添加到我的项目中,以便我可以使用 DH 进行密钥交换。但是,在 Android Studio 2.0 中,我无法将其添加为提供程序。我已按照添加为库的说明进行操作,然后添加该行
但它告诉我它无法解析符号'jce'。有没有我能找到的提供者的路径可以帮助我在 Android Studio 中使用它?我到处找遍了所有东西,但没有提出任何解决方案,我尝试查看在提供程序行中输入的每个选项。
谢谢你的帮助!
java - java - 如何在java中生成与openssl生成的相同类型的ecdsa密钥对?
我正在执行以下命令以在我的机器上生成 ecdsa 密钥对:
openssl ecparam -genkey -name secp256k1 -noout -outform DER -out private.key
在执行下一个命令openssl ec -inform DER -in private.key -noout -text
时,我得到以下输出:
现在我感兴趣的是上面没有冒号的公钥,即04640af7e6e1a97fd3b2ecadf14196eec1c2e7024a5442abe8da9f88e10246aa329138b59e37fc96d9360207de7459c4a8e02b213ad4707d5e92542265800fdffd
。我需要将此公钥发送到一个验证密钥是否有效的api调用。与 api 调用一起发送时生成的密钥被openssl
服务器接受为有效的。
但是使用 api 调用发送时在 java 中生成的公共 ecdsa 密钥被拒绝。我正在使用以下代码生成密钥对
我的问题是如何生成与 OpenSSL 生成的相同类型的 ECDSA 密钥对?OpenSSL生成的密钥和java生成的代码有什么区别,OpenSSL生成的密钥被接受而java生成的密钥被拒绝?
android - Android:找不到 org.spongycastle.util.io.pem.PemReader
我在我的 android 代码中使用 spongycastle。代码在 android 5 和 android 6 中运行良好,但在 android 4 中显示错误:
在以下代码中初始化 PemReader 时失败:
构建.gradle
谁能告诉我如何处理它。
android - Xamarin.Android 绑定 Spongy Castle / Bouncy Castle
有人成功将 SpongyCastle 绑定到Xamarin.Android 吗?在绑定项目中,我的 Metadata.xml 遇到了一堆警告。
到目前为止,我有:
所以它可以编译,但是在 Xamarin.Android 项目中使用绑定项目时需要几分钟。编译,然后抱怨 Java 的 HEAP 大小失败。
当我将堆大小设置为 1GB 时,它会完成,但是在设备上以调试模式运行应用程序时调试会中断。
有没有办法只使用没有绑定库的 ARR?我只需要调用我在此 ARR 中创建的包装器方法并从中获取输出。我不需要通过 C# 访问完整的库。或者,还有更好的方法?
android - 使用 SpongyCastle 签名/检查签名时在 Android 4.4 上引发 UnsupportedOperationException
以下代码在 Android 4.4 上执行时会引发 UnsupportedOperationException,但在 Android 5 和 6 上运行良好(在设备和模拟器上测试)。在 setParameter 上引发异常。
我正在使用 Spongy Castle 来使用 SHA256withRSA/PSS。
知道为什么吗?