【问题标题】:Encrypt data using private certificate inside android keystore使用 android keystore 中的私有证书加密数据
【发布时间】:2016-08-15 16:23:04
【问题描述】:

我使用证书文件在通过 Rest API 发送数据之前对其进行加密。目前,我将其保存在assets 文件夹中。

我将证书放入我用来签署我的 APK 的 Keystore 文件中。

keytool -import -keystore certificate.pfx -file CertificateFile.cer

现在密钥库包含证书并列出它显示。

>keytool -list -keystore Certificate.pfx
Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your Keystore contains 2 entries

signingkey, Jun 19, 2015, PrivateKeyEntry,
Certificate fingerprint (SHA1): 83:C7:A9:D2:F9:80:C3:6B:16:49:FA:86:FC:18:D5:D5:
26:39:16:12
mykey, Apr 22, 2016, trustedCertEntry,
Certificate fingerprint (SHA1): E9:85:A6:8B:8A:51:89:6D:EA:BA:B8:3A:25:BB:89:34:
1F:5A:BA:5E

但枚举 Keystore 的大小始终为零,并且找不到别名。

keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
keyStore.aliases();

【问题讨论】:

  • 用于签署应用程序的密钥库不(也不应该)驻留在手机上。

标签: android ssl encryption android-keystore


【解决方案1】:

您混淆了听起来相似但完全不同的术语:

一个(Java)“密钥库”驻留在您的计算机上,用于对您的应用程序进行签名。这是一个简单的密码保护文件。

另一个是设备上的“AndroidKeyStore”服务。该服务是一项特殊服务,它为应用程序提供在 Android 操作系统的受保护部分中创建和存储其私钥的能力。只有创建了密钥的应用程序以后才能访问/使用密钥。 “AndroidKeyStore”通常以包含硬件保护功能的特殊方式进行保护。

【讨论】:

    猜你喜欢
    • 2016-02-19
    • 2017-11-18
    • 2020-10-23
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多