Encryption iOS Swift-维吉尔安全用户已注册-未找到私钥
上下文 在验证“Alice”并获取JWT令牌后使用Virgil Security SDK for iOS swift时,注册时的错误始终表示用户已注册。即使在清除设备或使用新设备后首次登录时也会发生这种情况。此外,当尝试文本的Encryption iOS Swift-维吉尔安全用户已注册-未找到私钥,encryption,private-key,Encryption,Private Key,上下文 在验证“Alice”并获取JWT令牌后使用Virgil Security SDK for iOS swift时,注册时的错误始终表示用户已注册。即使在清除设备或使用新设备后首次登录时也会发生这种情况。此外,当尝试文本的etree.authEncrypt()方法时,错误总是表示在设备上找不到私钥,即使etree.hasPrivateKey()返回true 代码已尝试 do { let params = try EThreeParams(identit
etree.authEncrypt()
方法时,错误总是表示在设备上找不到私钥,即使etree.hasPrivateKey()
返回true
代码已尝试
do {
let params = try EThreeParams(identity: "Alice", tokenCallback: self.virgil.authWithVirgil)
let ethree = try EThree(params: params)
ethree.register { error in
guard error == nil else {
// Error handling here
print(error?.localizedDescription) //User is already registered
return
}
print("New Registration")
// User private key loaded, ready to end-to-end encrypt!
}
} catch {
print(error.localizedDescription)
}
问题
- 为什么在清除设备或使用新设备后,代码会告诉我用户已注册李>
- 为什么
返回true,但在使用hasPrivateKey
时,出现一个错误,表示设备中没有私钥authEncrypt
hasPrivateKey
返回true,但在使用authEncrypt
时,出现一个错误,表示设备中没有私钥
localkeystrage.retrieveKeyPair()
可用于定义私钥存在
最佳做法
为了支持跨多个设备登录,可以使用这种机制。Q1
为什么在清除一个设备或使用一个新设备后,代码会告诉你
告诉我用户已经注册了吗
注册的
与私钥的存在无关。一个用户只能有一个私钥。一旦它被注册到一个设备上,在第一次向设备添加用户时,如果没有备份到Virgil Cloud,就不能在其他设备上使用它
一旦用户在一台设备上拥有私钥,他们就不能在其他设备上拥有私钥,除非使用密码通过Virgil Cloud获取私钥,或者调用etree.rotatePrivateKey()