本文整理汇总了Golang中github.com/keybase/client/go/libkb.User.GetDeviceSubkey方法的典型用法代码示例。如果您正苦于以下问题:Golang User.GetDeviceSubkey方法的具体用法?Golang User.GetDeviceSubkey怎么用?Golang User.GetDeviceSubkey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/keybase/client/go/libkb.User
的用法示例。
在下文中一共展示了User.GetDeviceSubkey方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: matchingDeviceKey
// check device key for arg.Bundles match.
func matchingDeviceKey(g *libkb.GlobalContext, secretUI libkb.SecretUI, arg keybase1.UnboxBytes32AnyArg, me *libkb.User) (key libkb.GenericKey, index int, err error) {
ekey, err := me.GetDeviceSubkey()
if err == nil {
if n, ok := kidMatch(ekey, arg.Bundles); ok {
// unlock this key
parg := libkb.SecretKeyPromptArg{
Ska: libkb.SecretKeyArg{
Me: me,
KeyType: libkb.DeviceEncryptionKeyType,
},
SecretUI: secretUI,
Reason: arg.Reason,
UseCancelCache: true,
}
key, err := g.Keyrings.GetSecretKeyWithPrompt(parg)
if err != nil {
return nil, 0, err
}
return key, n, nil
}
g.Log.Debug("matchingDeviceKey: no match found for ekey in arg.Bundles")
logNoMatch(g, ekey, arg.Bundles)
} else {
g.Log.Debug("matchingDeviceKey: ignoring error getting device subkey: %s", err)
}
return nil, 0, nil
}
示例2: matchingDeviceKey
// check device key for arg.Bundles match.
func matchingDeviceKey(g *libkb.GlobalContext, secretUI libkb.SecretUI, arg keybase1.UnboxBytes32AnyArg, me *libkb.User) (key libkb.GenericKey, index int, err error) {
ekey, err := me.GetDeviceSubkey()
if err == nil {
if n, ok := kidMatch(ekey, arg.Bundles); ok {
// unlock this key
skarg := libkb.SecretKeyArg{
Me: me,
KeyType: libkb.DeviceEncryptionKeyType,
}
key, err := g.Keyrings.GetSecretKeyWithPrompt(nil, skarg, secretUI, arg.Reason)
if err != nil {
return nil, 0, err
}
return key, n, nil
}
}
return nil, 0, nil
}