本文整理汇总了Golang中github.com/hyperledger/fabric/core/crypto/primitives.SetSecurityLevel函数的典型用法代码示例。如果您正苦于以下问题:Golang SetSecurityLevel函数的具体用法?Golang SetSecurityLevel怎么用?Golang SetSecurityLevel使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了SetSecurityLevel函数的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: initPeer
//initialize peer and start up. If security==enabled, login as vp
func initPeer(chainID string) (net.Listener, error) {
//start clean
finitPeer(nil)
var opts []grpc.ServerOption
if viper.GetBool("peer.tls.enabled") {
creds, err := credentials.NewServerTLSFromFile(viper.GetString("peer.tls.cert.file"), viper.GetString("peer.tls.key.file"))
if err != nil {
return nil, fmt.Errorf("Failed to generate credentials %v", err)
}
opts = []grpc.ServerOption{grpc.Creds(creds)}
}
grpcServer := grpc.NewServer(opts...)
viper.Set("peer.fileSystemPath", filepath.Join(os.TempDir(), "hyperledger", "production"))
peerAddress, err := peer.GetLocalAddress()
if err != nil {
return nil, fmt.Errorf("Error obtaining peer address: %s", err)
}
lis, err := net.Listen("tcp", peerAddress)
if err != nil {
return nil, fmt.Errorf("Error starting peer listener %s", err)
}
//initialize ledger
peer.MockInitialize()
getPeerEndpoint := func() (*pb.PeerEndpoint, error) {
return &pb.PeerEndpoint{ID: &pb.PeerID{Name: "testpeer"}, Address: peerAddress}, nil
}
// Install security object for peer
if viper.GetBool("security.enabled") {
//TODO: integrate new crypto / idp
securityLevel := viper.GetInt("security.level")
hashAlgorithm := viper.GetString("security.hashAlgorithm")
primitives.SetSecurityLevel(hashAlgorithm, securityLevel)
} else {
// the primitives need to be instantiated no matter what. Otherwise
// the escc code won't have a hash algorithm available to hash the proposal
primitives.SetSecurityLevel("SHA2", 256)
}
ccStartupTimeout := time.Duration(30000) * time.Millisecond
pb.RegisterChaincodeSupportServer(grpcServer, chaincode.NewChaincodeSupport(getPeerEndpoint, false, ccStartupTimeout))
chaincode.RegisterSysCCs()
if err = peer.MockCreateChain(chainID); err != nil {
closeListenerAndSleep(lis)
return nil, err
}
chaincode.DeploySysCCs(chainID)
go grpcServer.Serve(lis)
return lis, nil
}
开发者ID:hyperledger,项目名称:fabric,代码行数:60,代码来源:endorser_test.go
示例2: TestGetValue_Clear_NullTCert
func TestGetValue_Clear_NullTCert(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
_, err := GetValueFrom("position", nil)
if err == nil {
t.Error(err)
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:7,代码来源:attr_support_test.go
示例3: TestGetValue_Clear_InvalidAttribute
func TestGetValue_Clear_InvalidAttribute(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
tcert, err := loadTCertClear()
if err != nil {
t.Error(err)
}
tcertder := tcert.Raw
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
metadata := []byte{32, 64}
attributeMetadata, err := attributes.CreateAttributesMetadata(tcertder, metadata, prek0, attributeNames)
if err != nil {
t.Error(err)
}
stub := &chaincodeStubMock{callerCert: tcertder, metadata: attributeMetadata}*/
stub := &chaincodeStubMock{callerCert: tcertder}
handler, err := NewAttributesHandlerImpl(stub)
if err != nil {
t.Error(err)
}
value, err := handler.GetValue("age")
if value != nil || err == nil {
t.Fatalf("Test should fail [%v] \n", string(value))
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:27,代码来源:attr_support_test.go
示例4: main
func main() {
primitives.SetSecurityLevel("SHA3", 256)
err := shim.Start(new(AssetManagementChaincode))
if err != nil {
fmt.Printf("Error starting AssetManagementChaincode: %s", err)
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:7,代码来源:asset_management.go
示例5: TestSignatureVerifierSHA2_384
func TestSignatureVerifierSHA2_384(t *testing.T) {
// Create a signature
primitives.SetSecurityLevel("SHA2", 384)
cert, key, err := utils.NewSelfSignedCert()
if err != nil {
t.Fatal(err)
}
message := []byte("Hello World!")
signature, err := utils.ECDSASign(key, message)
if err != nil {
t.Fatal(err)
}
// Instantiate a new SignatureVerifier
sv := NewX509ECDSASignatureVerifier()
// Verify the signature
ok, err := sv.Verify(cert, signature, message)
if err != nil {
t.Fatal(err)
}
if !ok {
t.Fatal("Signature does not verify")
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:27,代码来源:ecdsa_test.go
示例6: TestVerifyAttribute
func TestVerifyAttribute(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
tcert, prek0, err := loadTCertAndPreK0() */
tcert, err := loadTCertClear()
if err != nil {
t.Error(err)
}
tcertder := tcert.Raw
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
metadata := []byte{32, 64}
attributeMetadata, err := attributes.CreateAttributesMetadata(tcertder, metadata, prek0, attributeNames)
if err != nil {
t.Error(err)
}
stub := &chaincodeStubMock{callerCert: tcertder, metadata: attributeMetadata}*/
stub := &chaincodeStubMock{callerCert: tcertder}
handler, err := NewAttributesHandlerImpl(stub)
if err != nil {
t.Error(err)
}
isOk, err := handler.VerifyAttribute("position", []byte("Software Engineer"))
if err != nil {
t.Error(err)
}
if !isOk {
t.Fatal("Attribute not verified.")
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:35,代码来源:attr_support_test.go
示例7: TestMain
func TestMain(m *testing.M) {
// setup crypto algorithms
primitives.SetSecurityLevel("SHA2", 256)
// setup the MSP manager so that we can sign/verify
mspMgrConfigDir := "../../msp/sampleconfig/"
err := mspmgmt.LoadFakeSetupWithLocalMspAndTestChainMsp(mspMgrConfigDir)
if err != nil {
fmt.Printf("Could not initialize msp, err %s", err)
os.Exit(-1)
return
}
signer, err = mspmgmt.GetLocalMSP().GetDefaultSigningIdentity()
if err != nil {
fmt.Printf("Could not get signer")
os.Exit(-1)
return
}
signerSerialized, err = signer.Serialize()
if err != nil {
fmt.Printf("Could not serialize identity")
os.Exit(-1)
return
}
os.Exit(m.Run())
}
开发者ID:hyperledger,项目名称:fabric,代码行数:28,代码来源:fullflow_test.go
示例8: TestGetValue_Clear
func TestGetValue_Clear(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
tcert, err := loadTCertClear()
if err != nil {
t.Error(err)
}
tcertder := tcert.Raw
value, err := GetValueFrom("position", tcertder)
if err != nil {
t.Error(err)
}
if bytes.Compare(value, []byte("Software Engineer")) != 0 {
t.Fatalf("Value expected was [%v] and result was [%v].", []byte("Software Engineer"), value)
}
//Second time read from cache.
value, err = GetValueFrom("position", tcertder)
if err != nil {
t.Error(err)
}
if bytes.Compare(value, []byte("Software Engineer")) != 0 {
t.Fatalf("Value expected was [%v] and result was [%v].", []byte("Software Engineer"), value)
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:27,代码来源:attr_support_test.go
示例9: TestVerifyAttributes_InvalidHeader
func TestVerifyAttributes_InvalidHeader(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
tcert, prek0, err := loadTCertAndPreK0() */
tcert, err := loadTCertClear()
if err != nil {
t.Error(err)
}
//Change header extensions
tcert.Raw[583] = tcert.Raw[583] + 124
tcertder := tcert.Raw
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
metadata := []byte{32,64}
attributeMetadata, err := attributes.CreateAttributesMetadata(tcertder, metadata, prek0, attributeNames)
if err != nil {
t.Error(err)
}
stub := &chaincodeStubMock{callerCert: tcertder, metadata: attributeMetadata}*/
stub := &chaincodeStubMock{callerCert: tcertder}
handler, err := NewAttributesHandlerImpl(stub)
if err != nil {
t.Error(err)
}
_, err = handler.VerifyAttributes(&accesscontrol.Attribute{Name: "position", Value: []byte("Software Engineer")})
if err == nil {
t.Fatal("Error can't be nil.")
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:34,代码来源:attr_support_test.go
示例10: setupTestConfig
func setupTestConfig() {
primitives.SetSecurityLevel("SHA3", 256)
viper.AutomaticEnv()
viper.SetConfigName("ca_test") // name of config file (without extension)
viper.AddConfigPath("./") // path to look for the config file in
viper.AddConfigPath("./..") // path to look for the config file in
err := viper.ReadInConfig() // Find and read the config file
if err != nil { // Handle errors reading the config file
panic(fmt.Errorf("Fatal error config file: %s \n", err))
}
}
开发者ID:Colearo,项目名称:fabric,代码行数:11,代码来源:membersrvc_test.go
示例11: TestGetValue_BadHeaderTCert
func TestGetValue_BadHeaderTCert(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
tcert, err := loadTCertFromFile("./test_resources/tcert_bad.dump")
if err != nil {
t.Error(err)
}
tcertder := tcert.Raw
_, err = GetValueFrom("position", tcertder)
if err == nil {
t.Fatal("Test should be fail due TCert has an invalid header.")
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:13,代码来源:attr_support_test.go
示例12: TestMain
func TestMain(m *testing.M) {
var err error
primitives.SetSecurityLevel("SHA2", 256)
// setup the MSP manager so that we can sign/verify
mspMgrConfigDir := "../../msp/sampleconfig/"
mspmgmt.LoadFakeSetupWithLocalMspAndTestChainMsp(mspMgrConfigDir)
signer, err = mspmgmt.GetLocalMSP().GetDefaultSigningIdentity()
if err != nil {
os.Exit(-1)
fmt.Printf("Could not initialize msp/signer")
return
}
SetupTestConfig()
os.Exit(m.Run())
}
开发者ID:hyperledger,项目名称:fabric,代码行数:17,代码来源:exectransaction_test.go
示例13: TestNewAttributesHandlerImpl_InvalidCertificate
func TestNewAttributesHandlerImpl_InvalidCertificate(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
tcert, _, err := loadTCertAndPreK0()
if err != nil {
t.Error(err)
}
tcertder := tcert.Raw
if err != nil {
t.Error(err)
}
tcertder[0] = tcertder[0] + 1
stub := &metadataErrorMock{callerCert: tcertder}
_, err = NewAttributesHandlerImpl(stub)
if err == nil {
t.Fatal("Error shouldn't be nil")
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:17,代码来源:attr_support_test.go
示例14: TestGetValue
func TestGetValue(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
tcert, prek0, err := loadTCertAndPreK0() */
tcert, err := loadTCertClear()
if err != nil {
t.Error(err)
}
tcertder := tcert.Raw
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
metadata := []byte{32, 64}
attributeMetadata, err := attributes.CreateAttributesMetadata(tcertder, metadata, prek0, attributeNames)
if err != nil {
t.Error(err)
}
stub := &chaincodeStubMock{callerCert: tcertder, metadata: attributeMetadata}*/
stub := &chaincodeStubMock{callerCert: tcertder}
handler, err := NewAttributesHandlerImpl(stub)
if err != nil {
t.Error(err)
}
value, err := handler.GetValue("position")
if err != nil {
t.Error(err)
}
if bytes.Compare(value, []byte("Software Engineer")) != 0 {
t.Fatalf("Value expected was [%v] and result was [%v].", []byte("Software Engineer"), value)
}
//Second time read from cache.
value, err = handler.GetValue("position")
if err != nil {
t.Error(err)
}
if bytes.Compare(value, []byte("Software Engineer")) != 0 {
t.Fatalf("Value expected was [%v] and result was [%v].", []byte("Software Engineer"), value)
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:45,代码来源:attr_support_test.go
示例15: TestNewAttributesHandlerImpl_NullCertificate
func TestNewAttributesHandlerImpl_NullCertificate(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
tcert, prek0, err := loadTCertAndPreK0()
tcert, err := loadTCertClear()
if err != nil {
t.Error(err)
}
metadata := []byte{32, 64}
tcertder := tcert.Raw
attributeMetadata, err := attributes.CreateAttributesMetadata(tcertder, metadata, prek0, attributeNames)
if err != nil {
t.Error(err)
}
stub := &chaincodeStubMock{callerCert: nil, metadata: attributeMetadata}*/
stub := &chaincodeStubMock{callerCert: nil}
_, err := NewAttributesHandlerImpl(stub)
if err == nil {
t.Fatal("Error can't be nil.")
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:23,代码来源:attr_support_test.go
示例16: init
func init() {
var err error
primitives.SetSecurityLevel("SHA2", 256)
// setup the MSP manager so that we can sign/verify
mspMgrConfigDir, err := getMSPMgrConfigDir()
if err != nil {
fmt.Printf("Could not get location of msp manager config file")
os.Exit(-1)
return
}
err = mspmgmt.LoadFakeSetupWithLocalMspAndTestChainMsp(mspMgrConfigDir)
if err != nil {
fmt.Printf("Could not load msp config, err %s", err)
os.Exit(-1)
return
}
signer, err = mspmgmt.GetLocalMSP().GetDefaultSigningIdentity()
if err != nil {
os.Exit(-1)
fmt.Printf("Could not initialize msp/signer")
return
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:23,代码来源:txtestutils.go
示例17: TestGetValue_InvalidAttribute
func TestGetValue_InvalidAttribute(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
tcert, prek0, err := loadTCertAndPreK0() */
tcert, err := loadTCertClear()
if err != nil {
t.Error(err)
}
tcertder := tcert.Raw
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
metadata := []byte{32, 64}
attributeMetadata, err := attributes.CreateAttributesMetadata(tcertder, metadata, prek0, attributeNames)
if err != nil {
t.Error(err)
}
stub := &chaincodeStubMock{callerCert: tcertder, metadata: attributeMetadata}*/
stub := &chaincodeStubMock{callerCert: tcertder}
handler, err := NewAttributesHandlerImpl(stub)
if err != nil {
t.Error(err)
}
_, err = handler.GetValue("age")
if err == nil {
t.Error(err)
}
//Force invalid key
handler.keys["position"] = nil
_, err = handler.GetValue("positions")
if err == nil {
t.Error(err)
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:37,代码来源:attr_support_test.go
示例18: TestVerifyAttributes_InvalidAttributeValue
func TestVerifyAttributes_InvalidAttributeValue(t *testing.T) {
primitives.SetSecurityLevel("SHA3", 256)
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
tcert, prek0, err := loadTCertAndPreK0() */
tcert, err := loadTCertClear()
if err != nil {
t.Error(err)
}
//Change header extensions
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field. 337 is the offset in encrypted tcert.
tcert.Raw[371] = tcert.Raw[371] + 124*/
tcert.Raw[558] = tcert.Raw[558] + 124
tcertder := tcert.Raw
/*
TODO: ##attributes-keys-pending This code have be redefined to avoid use of metadata field.
metadata := []byte{32,64}
attributeMetadata, err := attributes.CreateAttributesMetadata(tcertder, metadata, prek0, attributeNames)
if err != nil {
t.Error(err)
}
stub := &chaincodeStubMock{callerCert: tcertder, metadata: attributeMetadata} */
stub := &chaincodeStubMock{callerCert: tcertder}
handler, err := NewAttributesHandlerImpl(stub)
if err != nil {
t.Fatalf("Error creating attribute handlder %v", err)
}
v, err := handler.GetValue("position")
if err == nil {
t.Fatal("Error can't be nil." + string(v))
}
}
开发者ID:hyperledger,项目名称:fabric,代码行数:37,代码来源:attr_support_test.go
示例19: main
func main() {
// For environment variables.
viper.SetEnvPrefix(cmdRoot)
viper.AutomaticEnv()
replacer := strings.NewReplacer(".", "_")
viper.SetEnvKeyReplacer(replacer)
// Define command-line flags that are valid for all peer commands and
// subcommands.
mainFlags := mainCmd.PersistentFlags()
mainFlags.BoolVarP(&versionFlag, "version", "v", false, "Display current version of fabric peer server")
mainFlags.String("logging-level", "", "Default logging level and overrides, see core.yaml for full syntax")
viper.BindPFlag("logging_level", mainFlags.Lookup("logging-level"))
testCoverProfile := ""
mainFlags.StringVarP(&testCoverProfile, "test.coverprofile", "", "coverage.cov", "Done")
var alternativeCfgPath = os.Getenv("PEER_CFG_PATH")
if alternativeCfgPath != "" {
logger.Infof("User defined config file path: %s", alternativeCfgPath)
viper.AddConfigPath(alternativeCfgPath) // Path to look for the config file in
} else {
viper.AddConfigPath("./") // Path to look for the config file in
// Path to look for the config file in based on GOPATH
gopath := os.Getenv("GOPATH")
for _, p := range filepath.SplitList(gopath) {
peerpath := filepath.Join(p, "src/github.com/hyperledger/fabric/peer")
viper.AddConfigPath(peerpath)
}
}
// Now set the configuration file.
viper.SetConfigName(cmdRoot) // Name of config file (without extension)
err := viper.ReadInConfig() // Find and read the config file
if err != nil { // Handle errors reading the config file
panic(fmt.Errorf("Fatal error when reading %s config file: %s\n", cmdRoot, err))
}
mainCmd.AddCommand(version.Cmd())
mainCmd.AddCommand(node.Cmd())
mainCmd.AddCommand(chaincode.Cmd(nil))
mainCmd.AddCommand(clilogging.Cmd())
runtime.GOMAXPROCS(viper.GetInt("peer.gomaxprocs"))
// Init the crypto layer
//TODO: integrate new crypto / idp code
primitives.SetSecurityLevel("SHA2", 256)
// Init the MSP
// TODO: determine the location of this config file
var mspMgrConfigDir string
if alternativeCfgPath != "" {
mspMgrConfigDir = alternativeCfgPath + "/msp/sampleconfig/"
} else if _, err := os.Stat("./msp/sampleconfig/"); err == nil {
mspMgrConfigDir = "./msp/sampleconfig/"
} else {
mspMgrConfigDir = os.Getenv("GOPATH") + "/src/github.com/hyperledger/fabric/msp/sampleconfig/"
}
// FIXME: when this peer joins a chain, it should get the
// config for that chain with the list of MSPs that the
// chain uses; however this is not yet implemented.
// Additionally, we might always want to have an MSP for
// the local test chain so that we can run tests with the
// peer CLI. This is why we create this fake setup here for now
err = mspmgmt.LoadFakeSetupWithLocalMspAndTestChainMsp(mspMgrConfigDir)
if err != nil {
panic(fmt.Errorf("Fatal error when setting up MSP from directory %s: err %s\n", mspMgrConfigDir, err))
}
// On failure Cobra prints the usage message and error string, so we only
// need to exit with a non-0 status
if mainCmd.Execute() != nil {
os.Exit(1)
}
logger.Info("Exiting.....")
}
开发者ID:hyperledger,项目名称:fabric,代码行数:79,代码来源:main.go
注:本文中的github.com/hyperledger/fabric/core/crypto/primitives.SetSecurityLevel函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论