提交 c307b549 作者: Jeromy

add convenience method for getting keys including self

License: MIT
Signed-off-by: 's avatarJeromy <why@ipfs.io>
上级 e8b20b92
......@@ -110,17 +110,11 @@ Publish an <ipfs-path> to another public key (not implemented):
ctx = context.WithValue(ctx, "ipns-publish-ttl", d)
}
var k crypto.PrivKey
kname, _, _ := req.Option("key").String()
if kname == "self" {
k = n.PrivateKey
} else {
ksk, err := n.Repo.Keystore().Get(kname)
if err != nil {
res.SetError(err, cmds.ErrNormal)
return
}
k = ksk
k, err := n.GetKey(kname)
if err != nil {
res.SetError(err, cmds.ErrNormal)
return
}
output, err := publish(ctx, n, k, path.Path(pstr), popts)
......
......@@ -514,6 +514,14 @@ func (n *IpfsNode) loadID() error {
return nil
}
func (n *IpfsNode) GetKey(name string) (ic.PrivKey, error) {
if name == "self" {
return n.PrivateKey, nil
} else {
return n.Repo.Keystore().Get(name)
}
}
func (n *IpfsNode) LoadPrivateKey() error {
if n.Identity == "" || n.Peerstore == nil {
return errors.New("loaded private key out of order.")
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论