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