在Android / iOS Keystore C#上存储私钥和证书(.pem)

安东尼·麦吉文

我想在客户端设备(运行Xamarin.Forms的iOS或Android手机)上创建非对称密钥对,并创建证书签名请求以发送到运行我的数据库的Linux服务器上的ASP.NET Core Restful API。为此,我正在使用Portable Bouncy Castle和API上的网络核心版本。

发送的CSR将由自定义CA通过WebAPI签名,并添加到我的数据库的证书表中,这样,当设备发送GET请求时,它就可以检索它(一次使用激活密钥来验证发布的CSR csr以及已签名证书的检索)。

使用此方法,我创建了一个私钥和CSR请求,并将csr转换为可以发布到API的字符串。API收到此消息后,会将其放置在脚本访问的文本文件中,以使用CA证书和CA密钥对其进行签名,从而创建一个client-cert.pem文件。这将被读取为文本并存储在数据库中,以便设备可以检索它。

此后,我想将证书和私钥存储在设备的密钥库中,但是当我使用Bouncy Castle创建密钥对时,它的类型为AsymmetricCipherKeyPair。

我将如何将这些项目存储在密钥库中,以便在连接到数据库时可以对其进行访问以对客户端进行身份验证?我目前不确定Xamarin.Forms如何处理密钥库以及如何在其中存储密钥/证书。

杰克华-MSFT

如果可以找到将AsymmetricCipherKeyPair转换为字符串的方法,则可以使用Xamarin.Essentials:Secure Storage将这些密钥存储在KeyStore中:

要将给定密钥的值保存在安全存储中:

try
{
  await SecureStorage.SetAsync("oauth_token", "secret-oauth-token-value");
}
catch (Exception ex)
{
  // Possible that device doesn't support secure storage on device.
}

要从安全存储中检索值:

try
{
  var oauthToken = await SecureStorage.GetAsync("oauth_token");
}
catch (Exception ex)
{
  // Possible that device doesn't support secure storage on device.
}

请参阅:AsymmetricCipherKeyPair/ bouncy-castle-rsa-transform-keys-in-string格式

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从key.pk8和certificate.pem生成Android Keystore?

来自分类Dev

Android Keystore存储访问令牌

来自分类Dev

Alamofire和PEM证书

来自分类Dev

Android中的“ debug.keystore”和“ release.keystore”有什么区别?

来自分类Dev

Android中的“ debug.keystore”和“ release.keystore”有什么区别?

来自分类Dev

Keystore 问题 ---- Android (google play store) ----不接受证书

来自分类Dev

如何查看 Android KeyStore 的证书撤销列表 (CRL)?

来自分类Dev

Android Keystore文件

来自分类Dev

更改 Android Keystore 的位置

来自分类Dev

Android Keystore Provider-如何存储API密钥

来自分类Dev

如何在Android Keystore中存储对称密钥

来自分类Dev

使用java.security.KeyStore将椭圆曲线证书和私钥导入Java Keystore

来自分类Dev

使用java.security.KeyStore将椭圆曲线证书和私钥导入Java Keystore

来自分类Dev

从Android本地存储的client-cert.pem文件中获取SSL证书的到期日期

来自分类Dev

Java Keystore私钥导入

来自分类Dev

Android的KeyStore getKey返回null

来自分类Dev

Android Keystore,密钥的安全值

来自分类Dev

Check android keystore keypass for correctness

来自分类Dev

how to generates JCEKS keystore in android

来自分类Dev

React Native Android Debug Keystore

来自分类Dev

Android Keystore系统如何安全?

来自分类Dev

在rhomobile android应用程序的linux上找不到android keystore目录

来自分类Dev

Heroku Rails App上的iOS推送通知—如何提供PEM文件

来自分类Dev

将多个SSL证书添加到Android KeyStore不起作用。(来自资源文件)

来自分类Dev

Xamarin.Android Http 客户端允许我从 KeyStore 添加客户端证书

来自分类Dev

从.pem文件中提取私钥

来自分类Dev

从私钥Apple CER生成PEM

来自分类常见问题

在Java KeyStore中导入私钥/公证书对

来自分类Dev

如何使用Android KeyStore安全地存储任意字符串?

Related 相关文章

  1. 1

    如何从key.pk8和certificate.pem生成Android Keystore?

  2. 2

    Android Keystore存储访问令牌

  3. 3

    Alamofire和PEM证书

  4. 4

    Android中的“ debug.keystore”和“ release.keystore”有什么区别?

  5. 5

    Android中的“ debug.keystore”和“ release.keystore”有什么区别?

  6. 6

    Keystore 问题 ---- Android (google play store) ----不接受证书

  7. 7

    如何查看 Android KeyStore 的证书撤销列表 (CRL)?

  8. 8

    Android Keystore文件

  9. 9

    更改 Android Keystore 的位置

  10. 10

    Android Keystore Provider-如何存储API密钥

  11. 11

    如何在Android Keystore中存储对称密钥

  12. 12

    使用java.security.KeyStore将椭圆曲线证书和私钥导入Java Keystore

  13. 13

    使用java.security.KeyStore将椭圆曲线证书和私钥导入Java Keystore

  14. 14

    从Android本地存储的client-cert.pem文件中获取SSL证书的到期日期

  15. 15

    Java Keystore私钥导入

  16. 16

    Android的KeyStore getKey返回null

  17. 17

    Android Keystore,密钥的安全值

  18. 18

    Check android keystore keypass for correctness

  19. 19

    how to generates JCEKS keystore in android

  20. 20

    React Native Android Debug Keystore

  21. 21

    Android Keystore系统如何安全?

  22. 22

    在rhomobile android应用程序的linux上找不到android keystore目录

  23. 23

    Heroku Rails App上的iOS推送通知—如何提供PEM文件

  24. 24

    将多个SSL证书添加到Android KeyStore不起作用。(来自资源文件)

  25. 25

    Xamarin.Android Http 客户端允许我从 KeyStore 添加客户端证书

  26. 26

    从.pem文件中提取私钥

  27. 27

    从私钥Apple CER生成PEM

  28. 28

    在Java KeyStore中导入私钥/公证书对

  29. 29

    如何使用Android KeyStore安全地存储任意字符串?

热门标签

归档