Xamarin.iOS多个问题,同步加密和签名数据

时间:2018-07-29 15:53:37

标签: encryption xamarin.ios cryptography signing elliptic-curve

我正在编写一个两要素身份验证应用程序,该应用程序需要按顺序执行加密操作,例如对数据进行签名,然后对另一组数据进行加密。我正在使用的加密密钥将AccessControl设置为DevicePasscode。我遇到两个不同的问题。

1)对两组不同的数据进行签名和加密导致用户不得不输入两次他或她的密码。理想情况下,我希望用户只需输入一次密码即可。

2)如果我加密数据,然后在没有延迟的情况下签名另一组数据,则会收到以下错误消息“ UI超时激活”。如果我在这两个操作之间设置了750毫秒的延迟,则效果很好。

我有以下椭圆曲线密钥(ECDSA),存储在安全区域中

var signature = privateKey.CreateSignature(SecKeyAlgorithm.EcdsaSignatureMessageX962Sha256, NSData.FromArray(dataToSign), out NSError error);

var ciphertext = publicKey.CreateEncryptedData(SecKeyAlgorithm.EciesEncryptionCofactorX963Sha256AesGcm, NSData.FromArray(plaintext), out NSError error).ToArray();

0 个答案:

没有答案