本文整理匯總了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
}