草庐IT

AndroidKeystore

全部标签

java - ECDH 使用 Android KeyStore 生成私钥

我正在尝试使用由AndroidKeyStoreProvider生成的私有(private)在Android中实现ECDH。publicbyte[]ecdh(PublicKeyotherPubKey)throwsException{try{ECPublicKeyecPubKey=(ECPublicKey)otherPubKey;KeyAgreementkeyAgreement=KeyAgreement.getInstance("ECDH");PrivateKeypk=(PrivateKey)LoadPrivateKey("Backend");keyAgreement.init(pk);k

AndroidKeystore NoSuchAlgorithm 异常

我正在尝试初始化一个用于加密和解密的Cipher对象。Stringcipher=privateKey.getAlgorithm()+"/ECB/PKCS1Padding";mCipher=Cipher.getInstance(cipher,"AndroidKeyStore");我在android上不断收到以下异常:System.err:java.security.NoSuchAlgorithmException:ProviderAndroidKeyStoredoesnotprovideRSA/ECB/PKCS1Padding03-2000:28:38.2701981721488WSys

android - 如何将openssl生成的RSA私钥导入AndroidKeyStore

我想将key导入到AndroidKeyStore中。所以,我可以通过以下方式通过openssl生成它opensslrsa-text-inprivateKey2048.pemopensslpkcs8-topk8-informPEM-in./privateKey2048.pem-outformDER-outprivate2048.der-nocrypt然后我可以将它从private2048.der转换成十六进制格式,这可以在android应用程序的byteArray中转换。但是我不清楚,如何将这个byteArray导入到AndroidKeyStore中?所以一般来说,我的问题是如何导入以字

java - 初始化 FingerpringManager.Crypto 对象,获取不受 AndroidKeyStore 提供程序支持的 Crypto 原语?

我正在使用AndroidFingerPrintManagerAPI并使用KeyPairGenerator创建key对,我想使用公钥加密密码,然后在用户通过输入fingerPrint进行身份验证时解密,但是一旦我运行我的项目它崩溃并给予Causedby:java.lang.IllegalArgumentException:CryptoprimitivenotbackedbyAndroidKeyStoreprovider我使用了这里的代码:AndroidFingerprintAPIEncryptionandDecryption这篇文章说他能够进行加密和解密,并且di遵循相同的代码和步骤。这

java - AndroidKeyStore key 生成期间的 IllegalArgumentException(无法解析的日期)

在使用AndroidKeyStore生成RSAkey期间,我在我的应用程序中遇到了以下问题,而不是理解它可以很容易地从AndroidSDK在BasicAndroidKeyStore示例应用程序中复制。因此,如果您有Locale.getDefault()==Locale.US,则此示例运行良好,但如果您将区域设置更改为,例如"ar_EG",它会异常崩溃:java.lang.IllegalArgumentException:invaliddatestring:Unparseabledate:"af`cadaaedcaGMT+00:00"(atoffset0)atcom.android.or

android - 从 AndroidKeystore 加载私钥时出现问题

Android提供了一个API来为加密操作生成key,并在Android系统keystore中存储/加载它们。我遵循了KeyGenParameterSpec的JavaDocs中的示例类(class)。key的生成、存储和加载工作。但是,如果我尝试使用key,密码对象的init()调用将失败。我调试了一下,我可以看到,加载的key是“android.security.keystore.AndroidKeyStoreSecretKey”类型的。此实现可防止key的byte[]被暴露。出于安全原因,我理解这一点,但如果我想使用key,我必须获取key内容。所以,我必须做错事。也许,还有另一种

Android 指纹 - AndroidKeyStore 提供商不支持的加密原语

我正在尝试将androidFingerprint实现到示例应用程序中。使用的密码未被识别为有效-但我不知道为什么,因为基于android文档,它应该受到支持。密码建立在:returnCipher.getInstance(KeyProperties.KEY_ALGORITHM_RSA+"/"+KeyProperties.BLOCK_MODE_ECB+"/"+KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1);这个密码在官方docs中列出.后面用到的keyGenerator和keyFactory生成如下。keyStore=KeyStore.getInst

android - encode() 私钥在 "AndroidKeyStore"返回 null

对于Android4.3,此代码返回null。KeyStorekeyStore=KeyStore.getInstance("AndroidKeyStore");keyStore.load(null);keyStore.setKeyEntry(alias,privateKey,null,certificateChain);PrivateKeyEntryentry=(PrivateKeyEntry)keyStore.getEntry(alias,newPasswordProtection(password));assert(entry.getPrivateKey().getEncoded(

android - 在 AndroidKeystore 中保存和检索 key 对

我需要生成一个RSA2048key对,然后保存它,如果存在则恢复它。此刻,我有这个:SecureRandomrandom=newSecureRandom();RSAKeyGenParameterSpecspec=newRSAKeyGenParameterSpec(keySize,RSAKeyGenParameterSpec.F4);KeyPairGeneratorgenerator=KeyPairGenerator.getInstance("RSA","SC");generator.initialize(spec,random);returngenerator.generateKeyP

AndroidKeyStore 在设备密码更改后消失

我目前正在开发基于客户端-服务器架构的android应用程序。为了数据安全,我使用公私key对进行数据加密和签名。我正在使用AndroidKeyStore来存储key对。下面是生成key对的代码:KeyPairGeneratorSpecspec=newKeyPairGeneratorSpec.Builder(mContext).setAlias(mPrivateKeyAlias).setSubject(newX500Principal("CN="+mPrivateKeyAlias)).setSerialNumber(BigInteger.valueOf(System.currentTi
12