63 Star 185 Fork 3

Gitee 极速下载/hyperledger-fabric

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/hyperledger/fabric
克隆/下载
signpackage.go 1.65 KB
一键复制 编辑 原始数据 按行查看 历史
Chongxin Luo 提交于 2019-08-16 23:30 +08:00 . [FAB-15951] Refactor GetDefault in CLI
/*
Copyright IBM Corp. 2016 All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package chaincode
import (
"fmt"
"io/ioutil"
"github.com/hyperledger/fabric/bccsp"
"github.com/hyperledger/fabric/core/common/ccpackage"
"github.com/hyperledger/fabric/protoutil"
"github.com/spf13/cobra"
)
// signpackageCmd returns the cobra command for signing a package
func signpackageCmd(cf *ChaincodeCmdFactory, cryptoProvider bccsp.BCCSP) *cobra.Command {
spCmd := &cobra.Command{
Use: "signpackage",
Short: "Sign the specified chaincode package",
Long: "Sign the specified chaincode package",
ValidArgs: []string{"2"},
RunE: func(cmd *cobra.Command, args []string) error {
if len(args) < 2 {
return fmt.Errorf("peer chaincode signpackage <inputpackage> <outputpackage>")
}
return signpackage(cmd, args[0], args[1], cf, cryptoProvider)
},
}
return spCmd
}
func signpackage(cmd *cobra.Command, ipackageFile string, opackageFile string, cf *ChaincodeCmdFactory, cryptoProvider bccsp.BCCSP) error {
// Parsing of the command line is done so silence cmd usage
cmd.SilenceUsage = true
var err error
if cf == nil {
cf, err = InitCmdFactory(cmd.Name(), false, false, cryptoProvider)
if err != nil {
return err
}
}
b, err := ioutil.ReadFile(ipackageFile)
if err != nil {
return err
}
env := protoutil.UnmarshalEnvelopeOrPanic(b)
env, err = ccpackage.SignExistingPackage(env, cf.Signer)
if err != nil {
return err
}
b = protoutil.MarshalOrPanic(env)
err = ioutil.WriteFile(opackageFile, b, 0700)
if err != nil {
return err
}
fmt.Printf("Wrote signed package to %s successfully\n", opackageFile)
return nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mirrors/hyperledger-fabric.git
git@gitee.com:mirrors/hyperledger-fabric.git
mirrors
hyperledger-fabric
hyperledger-fabric
v2.0.0-beta

搜索帮助