diff --git a/api/apiconfig/configprovider.go b/api/apiconfig/configprovider.go index 23e90594e6..16b30ebf4f 100644 --- a/api/apiconfig/configprovider.go +++ b/api/apiconfig/configprovider.go @@ -9,8 +9,6 @@ package apiconfig import ( "crypto/x509" "time" - - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" ) // Config fabric-sdk-go configuration interface @@ -45,7 +43,6 @@ type Config interface { KeyStorePath() string CAKeyStorePath() string CryptoConfigPath() string - CSPConfig() *bccspFactory.FactoryOpts } // TimeoutType enumerates the different types of outgoing connections diff --git a/api/apiconfig/mocks/mockconfig.gen.go b/api/apiconfig/mocks/mockconfig.gen.go index 603009f150..f013dde2cc 100644 --- a/api/apiconfig/mocks/mockconfig.gen.go +++ b/api/apiconfig/mocks/mockconfig.gen.go @@ -11,7 +11,6 @@ import ( gomock "github.com/golang/mock/gomock" apiconfig "github.com/hyperledger/fabric-sdk-go/api/apiconfig" - factory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" ) // MockConfig is a mock of Config interface @@ -101,18 +100,6 @@ func (mr *MockConfigMockRecorder) CAServerCertFiles(arg0 interface{}) *gomock.Ca return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CAServerCertFiles", reflect.TypeOf((*MockConfig)(nil).CAServerCertFiles), arg0) } -// CSPConfig mocks base method -func (m *MockConfig) CSPConfig() *factory.FactoryOpts { - ret := m.ctrl.Call(m, "CSPConfig") - ret0, _ := ret[0].(*factory.FactoryOpts) - return ret0 -} - -// CSPConfig indicates an expected call of CSPConfig -func (mr *MockConfigMockRecorder) CSPConfig() *gomock.Call { - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CSPConfig", reflect.TypeOf((*MockConfig)(nil).CSPConfig)) -} - // ChannelConfig mocks base method func (m *MockConfig) ChannelConfig(arg0 string) (*apiconfig.ChannelConfig, error) { ret := m.ctrl.Call(m, "ChannelConfig", arg0) diff --git a/api/apifabca/mocks/mockfabriccaclient.gen.go b/api/apifabca/mocks/mockfabriccaclient.gen.go index 8dc9270691..3dba548a01 100644 --- a/api/apifabca/mocks/mockfabriccaclient.gen.go +++ b/api/apifabca/mocks/mockfabriccaclient.gen.go @@ -8,8 +8,8 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" + apicryptosuite "github.com/hyperledger/fabric-sdk-go/api/apicryptosuite" apifabca "github.com/hyperledger/fabric-sdk-go/api/apifabca" - bccsp "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" ) // MockFabricCAClient is a mock of FabricCAClient interface @@ -48,9 +48,9 @@ func (mr *MockFabricCAClientMockRecorder) CAName() *gomock.Call { } // Enroll mocks base method -func (m *MockFabricCAClient) Enroll(arg0, arg1 string) (bccsp.Key, []byte, error) { +func (m *MockFabricCAClient) Enroll(arg0, arg1 string) (apicryptosuite.Key, []byte, error) { ret := m.ctrl.Call(m, "Enroll", arg0, arg1) - ret0, _ := ret[0].(bccsp.Key) + ret0, _ := ret[0].(apicryptosuite.Key) ret1, _ := ret[1].([]byte) ret2, _ := ret[2].(error) return ret0, ret1, ret2 @@ -62,9 +62,9 @@ func (mr *MockFabricCAClientMockRecorder) Enroll(arg0, arg1 interface{}) *gomock } // Reenroll mocks base method -func (m *MockFabricCAClient) Reenroll(arg0 apifabca.User) (bccsp.Key, []byte, error) { +func (m *MockFabricCAClient) Reenroll(arg0 apifabca.User) (apicryptosuite.Key, []byte, error) { ret := m.ctrl.Call(m, "Reenroll", arg0) - ret0, _ := ret[0].(bccsp.Key) + ret0, _ := ret[0].(apicryptosuite.Key) ret1, _ := ret[1].([]byte) ret2, _ := ret[2].(error) return ret0, ret1, ret2 diff --git a/def/fabapi/context/defprovider/sdk.go b/def/fabapi/context/defprovider/sdk.go index 8993c51cfd..d70b00281b 100644 --- a/def/fabapi/context/defprovider/sdk.go +++ b/def/fabapi/context/defprovider/sdk.go @@ -19,7 +19,6 @@ import ( signingMgr "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/signingmgr" discovery "github.com/hyperledger/fabric-sdk-go/pkg/fabric-txn/discovery/staticdiscovery" selection "github.com/hyperledger/fabric-sdk-go/pkg/fabric-txn/selection/staticselection" - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" ) // DefaultProviderFactory represents the default SDK provider factory. @@ -57,11 +56,7 @@ func (f *DefaultProviderFactory) NewStateStoreProvider(o opt.StateStoreOpts, con // NewCryptoSuiteProvider returns a new default implementation of BCCSP func (f *DefaultProviderFactory) NewCryptoSuiteProvider(config apiconfig.Config) (apicryptosuite.CryptoSuite, error) { - bccspProvider, err := bccspFactory.GetBCCSPFromOpts(config.CSPConfig()) - if err != nil { - return nil, err - } - return cryptosuite.GetSuite(bccspProvider), nil + return cryptosuite.GetSuiteByConfig(config) } // NewSigningManager returns a new default implementation of signing manager diff --git a/def/fabapi/pkgfactory.go b/def/fabapi/pkgfactory.go index eeb1e050d5..57d1685d5b 100644 --- a/def/fabapi/pkgfactory.go +++ b/def/fabapi/pkgfactory.go @@ -22,7 +22,6 @@ import ( ordererImpl "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/orderer" peerImpl "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/peer" "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/signingmgr" - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" ) // TODO: Some (or most) of these functions should no longer be exported, as usage should occur via NewSDK @@ -148,11 +147,7 @@ func NewKVStore(stateStorePath string) (fab.KeyValueStore, error) { // NewCryptoSuite returns a new default implementation of CryptoSuite func NewCryptoSuite(config config.Config) (apicryptosuite.CryptoSuite, error) { - bccsp, err := bccspFactory.GetBCCSPFromOpts(config.CSPConfig()) - if err != nil { - return nil, err - } - return cryptosuite.GetSuite(bccsp), nil + return cryptosuite.GetSuiteByConfig(config) } // NewSigningManager returns a new default implementation of signing manager diff --git a/internal/github.com/hyperledger/fabric-ca/lib/clientconfig.go b/internal/github.com/hyperledger/fabric-ca/lib/clientconfig.go index 2060646d04..060394a1e6 100644 --- a/internal/github.com/hyperledger/fabric-ca/lib/clientconfig.go +++ b/internal/github.com/hyperledger/fabric-ca/lib/clientconfig.go @@ -23,7 +23,7 @@ package lib import ( "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/api" "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/lib/tls" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" ) // ClientConfig is the fabric-ca client's config diff --git a/internal/github.com/hyperledger/fabric-ca/lib/tls/tls.go b/internal/github.com/hyperledger/fabric-ca/lib/tls/tls.go index 5a18484074..4c148179a0 100644 --- a/internal/github.com/hyperledger/fabric-ca/lib/tls/tls.go +++ b/internal/github.com/hyperledger/fabric-ca/lib/tls/tls.go @@ -33,7 +33,7 @@ import ( log "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/sdkpatch/logbridge" "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" ) // ServerTLSConfig defines key material for a TLS server diff --git a/internal/github.com/hyperledger/fabric-ca/util/csp.go b/internal/github.com/hyperledger/fabric-ca/util/csp.go index 5a0b197279..e3655f94fb 100644 --- a/internal/github.com/hyperledger/fabric-ca/util/csp.go +++ b/internal/github.com/hyperledger/fabric-ca/util/csp.go @@ -38,11 +38,11 @@ import ( "github.com/cloudflare/cfssl/csr" "github.com/cloudflare/cfssl/helpers" log "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/sdkpatch/logbridge" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" cspsigner "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/signer" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/utils" cryptosuite "github.com/hyperledger/fabric-sdk-go/pkg/cryptosuite/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/utils" ) // InitBCCSP initializes BCCSP diff --git a/internal/github.com/hyperledger/fabric-ca/util/util.go b/internal/github.com/hyperledger/fabric-ca/util/util.go index e11ff9a6bd..6cca660a5e 100644 --- a/internal/github.com/hyperledger/fabric-ca/util/util.go +++ b/internal/github.com/hyperledger/fabric-ca/util/util.go @@ -41,7 +41,7 @@ import ( "github.com/hyperledger/fabric-sdk-go/api/apicryptosuite" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" "golang.org/x/crypto/ocsp" ) diff --git a/third_party/github.com/hyperledger/fabric/bccsp/aesopts.go b/internal/github.com/hyperledger/fabric/bccsp/aesopts.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/aesopts.go rename to internal/github.com/hyperledger/fabric/bccsp/aesopts.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/bccsp.go b/internal/github.com/hyperledger/fabric/bccsp/bccsp.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/bccsp.go rename to internal/github.com/hyperledger/fabric/bccsp/bccsp.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/ecdsaopts.go b/internal/github.com/hyperledger/fabric/bccsp/ecdsaopts.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/ecdsaopts.go rename to internal/github.com/hyperledger/fabric/bccsp/ecdsaopts.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/factory/factory.go b/internal/github.com/hyperledger/fabric/bccsp/factory/factory.go similarity index 96% rename from third_party/github.com/hyperledger/fabric/bccsp/factory/factory.go rename to internal/github.com/hyperledger/fabric/bccsp/factory/factory.go index 0edac2e170..142f45fcc6 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/factory/factory.go +++ b/internal/github.com/hyperledger/fabric/bccsp/factory/factory.go @@ -22,9 +22,9 @@ package factory import ( "sync" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" flogging "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/sdkpatch/logbridge" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" ) var ( diff --git a/third_party/github.com/hyperledger/fabric/bccsp/factory/nopkcs11.go b/internal/github.com/hyperledger/fabric/bccsp/factory/nopkcs11.go similarity index 97% rename from third_party/github.com/hyperledger/fabric/bccsp/factory/nopkcs11.go rename to internal/github.com/hyperledger/fabric/bccsp/factory/nopkcs11.go index 7191d0851f..f1ff5c3428 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/factory/nopkcs11.go +++ b/internal/github.com/hyperledger/fabric/bccsp/factory/nopkcs11.go @@ -22,8 +22,8 @@ Please review third_party pinning scripts and patches for more details. package factory import ( + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" ) // FactoryOpts holds configuration information used to initialize factory implementations diff --git a/third_party/github.com/hyperledger/fabric/bccsp/factory/opts.go b/internal/github.com/hyperledger/fabric/bccsp/factory/opts.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/factory/opts.go rename to internal/github.com/hyperledger/fabric/bccsp/factory/opts.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/factory/pkcs11.go b/internal/github.com/hyperledger/fabric/bccsp/factory/pkcs11.go similarity index 95% rename from third_party/github.com/hyperledger/fabric/bccsp/factory/pkcs11.go rename to internal/github.com/hyperledger/fabric/bccsp/factory/pkcs11.go index f695fca7bb..0d995e1ab1 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/factory/pkcs11.go +++ b/internal/github.com/hyperledger/fabric/bccsp/factory/pkcs11.go @@ -22,9 +22,9 @@ Please review third_party pinning scripts and patches for more details. package factory import ( + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/pkcs11" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/pkcs11" ) // FactoryOpts holds configuration information used to initialize factory implementations diff --git a/third_party/github.com/hyperledger/fabric/bccsp/factory/pkcs11factory.go b/internal/github.com/hyperledger/fabric/bccsp/factory/pkcs11factory.go similarity index 87% rename from third_party/github.com/hyperledger/fabric/bccsp/factory/pkcs11factory.go rename to internal/github.com/hyperledger/fabric/bccsp/factory/pkcs11factory.go index 94a3941804..ca93067031 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/factory/pkcs11factory.go +++ b/internal/github.com/hyperledger/fabric/bccsp/factory/pkcs11factory.go @@ -22,10 +22,10 @@ Please review third_party pinning scripts and patches for more details. package factory import ( + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/pkcs11" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/sw" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/pkcs11" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/sw" ) const ( diff --git a/third_party/github.com/hyperledger/fabric/bccsp/factory/pluginfactory.go b/internal/github.com/hyperledger/fabric/bccsp/factory/pluginfactory.go similarity index 95% rename from third_party/github.com/hyperledger/fabric/bccsp/factory/pluginfactory.go rename to internal/github.com/hyperledger/fabric/bccsp/factory/pluginfactory.go index 3ea088df56..3d5a9374cd 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/factory/pluginfactory.go +++ b/internal/github.com/hyperledger/fabric/bccsp/factory/pluginfactory.go @@ -17,7 +17,7 @@ import ( "os" "plugin" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) const ( diff --git a/third_party/github.com/hyperledger/fabric/bccsp/factory/sdkpatch_pluginfactory_noplugin.go b/internal/github.com/hyperledger/fabric/bccsp/factory/sdkpatch_pluginfactory_noplugin.go similarity index 92% rename from third_party/github.com/hyperledger/fabric/bccsp/factory/sdkpatch_pluginfactory_noplugin.go rename to internal/github.com/hyperledger/fabric/bccsp/factory/sdkpatch_pluginfactory_noplugin.go index 547e133fec..84a14bc78e 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/factory/sdkpatch_pluginfactory_noplugin.go +++ b/internal/github.com/hyperledger/fabric/bccsp/factory/sdkpatch_pluginfactory_noplugin.go @@ -14,7 +14,7 @@ package factory import ( "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) const ( diff --git a/third_party/github.com/hyperledger/fabric/bccsp/factory/swfactory.go b/internal/github.com/hyperledger/fabric/bccsp/factory/swfactory.go similarity index 93% rename from third_party/github.com/hyperledger/fabric/bccsp/factory/swfactory.go rename to internal/github.com/hyperledger/fabric/bccsp/factory/swfactory.go index e53ee2b6f0..dec8aa577f 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/factory/swfactory.go +++ b/internal/github.com/hyperledger/fabric/bccsp/factory/swfactory.go @@ -20,9 +20,9 @@ Please review third_party pinning scripts and patches for more details. package factory import ( + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/sw" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/sw" ) const ( diff --git a/third_party/github.com/hyperledger/fabric/bccsp/hashopts.go b/internal/github.com/hyperledger/fabric/bccsp/hashopts.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/hashopts.go rename to internal/github.com/hyperledger/fabric/bccsp/hashopts.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/keystore.go b/internal/github.com/hyperledger/fabric/bccsp/keystore.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/keystore.go rename to internal/github.com/hyperledger/fabric/bccsp/keystore.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/opts.go b/internal/github.com/hyperledger/fabric/bccsp/opts.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/opts.go rename to internal/github.com/hyperledger/fabric/bccsp/opts.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/pkcs11/conf.go b/internal/github.com/hyperledger/fabric/bccsp/pkcs11/conf.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/pkcs11/conf.go rename to internal/github.com/hyperledger/fabric/bccsp/pkcs11/conf.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsa.go b/internal/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsa.go similarity index 97% rename from third_party/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsa.go rename to internal/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsa.go index a8e4014360..b29048c164 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsa.go +++ b/internal/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsa.go @@ -27,7 +27,7 @@ import ( "fmt" "math/big" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) type ecdsaSignature struct { diff --git a/third_party/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsakey.go b/internal/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsakey.go similarity index 96% rename from third_party/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsakey.go rename to internal/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsakey.go index 66b1ca4beb..46335790af 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsakey.go +++ b/internal/github.com/hyperledger/fabric/bccsp/pkcs11/ecdsakey.go @@ -25,7 +25,7 @@ import ( "errors" "fmt" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) type ecdsaPrivateKey struct { diff --git a/third_party/github.com/hyperledger/fabric/bccsp/pkcs11/impl.go b/internal/github.com/hyperledger/fabric/bccsp/pkcs11/impl.go similarity index 98% rename from third_party/github.com/hyperledger/fabric/bccsp/pkcs11/impl.go rename to internal/github.com/hyperledger/fabric/bccsp/pkcs11/impl.go index d46c9ff816..9e5130ace1 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/pkcs11/impl.go +++ b/internal/github.com/hyperledger/fabric/bccsp/pkcs11/impl.go @@ -28,11 +28,11 @@ import ( "math/big" "os" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/sw" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/utils" flogging "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/sdkpatch/logbridge" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/sw" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/utils" "github.com/miekg/pkcs11" ) diff --git a/third_party/github.com/hyperledger/fabric/bccsp/pkcs11/pkcs11.go b/internal/github.com/hyperledger/fabric/bccsp/pkcs11/pkcs11.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/pkcs11/pkcs11.go rename to internal/github.com/hyperledger/fabric/bccsp/pkcs11/pkcs11.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/rsaopts.go b/internal/github.com/hyperledger/fabric/bccsp/rsaopts.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/rsaopts.go rename to internal/github.com/hyperledger/fabric/bccsp/rsaopts.go diff --git a/internal/github.com/hyperledger/fabric/bccsp/signer/signer.go b/internal/github.com/hyperledger/fabric/bccsp/signer/signer.go index 0645a22279..ceed872e5e 100644 --- a/internal/github.com/hyperledger/fabric/bccsp/signer/signer.go +++ b/internal/github.com/hyperledger/fabric/bccsp/signer/signer.go @@ -24,8 +24,8 @@ import ( "io" "github.com/hyperledger/fabric-sdk-go/api/apicryptosuite" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/utils" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/utils" ) // bccspCryptoSigner is the BCCSP-based implementation of a crypto.Signer diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/aes.go b/internal/github.com/hyperledger/fabric/bccsp/sw/aes.go similarity index 98% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/aes.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/aes.go index b56fa20a43..2409c5189f 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/aes.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/aes.go @@ -29,7 +29,7 @@ import ( "fmt" "io" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) // GetRandomBytes returns len random looking bytes diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/aeskey.go b/internal/github.com/hyperledger/fabric/bccsp/sw/aeskey.go similarity index 95% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/aeskey.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/aeskey.go index 29ca50bbd8..2bf37cc618 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/aeskey.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/aeskey.go @@ -24,7 +24,7 @@ import ( "crypto/sha256" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) type aesPrivateKey struct { diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/conf.go b/internal/github.com/hyperledger/fabric/bccsp/sw/conf.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/conf.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/conf.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/dummyks.go b/internal/github.com/hyperledger/fabric/bccsp/sw/dummyks.go similarity index 94% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/dummyks.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/dummyks.go index 504f7362f4..4b3b7624ef 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/dummyks.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/dummyks.go @@ -22,7 +22,7 @@ package sw import ( "errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) // NewDummyKeyStore instantiate a dummy key store diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/ecdsa.go b/internal/github.com/hyperledger/fabric/bccsp/sw/ecdsa.go similarity index 98% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/ecdsa.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/ecdsa.go index c2f2ea1d1a..23803fe6eb 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/ecdsa.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/ecdsa.go @@ -28,7 +28,7 @@ import ( "fmt" "math/big" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) type ECDSASignature struct { diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/ecdsakey.go b/internal/github.com/hyperledger/fabric/bccsp/sw/ecdsakey.go similarity index 97% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/ecdsakey.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/ecdsakey.go index a2e0267706..30c40978c5 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/ecdsakey.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/ecdsakey.go @@ -30,7 +30,7 @@ import ( "crypto/elliptic" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) type ecdsaPrivateKey struct { diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/fileks.go b/internal/github.com/hyperledger/fabric/bccsp/sw/fileks.go similarity index 98% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/fileks.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/fileks.go index 2992181bd1..569a68771b 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/fileks.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/fileks.go @@ -34,8 +34,8 @@ import ( "fmt" "path/filepath" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/utils" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/utils" ) // NewFileBasedKeyStore instantiated a file-based key store at a given position. diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/hash.go b/internal/github.com/hyperledger/fabric/bccsp/sw/hash.go similarity index 92% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/hash.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/hash.go index c01697ea65..16e140f681 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/hash.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/hash.go @@ -23,7 +23,7 @@ package sw import ( "hash" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) type hasher struct { diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/impl.go b/internal/github.com/hyperledger/fabric/bccsp/sw/impl.go similarity index 99% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/impl.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/impl.go index a9f0ab4862..441a9940e3 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/impl.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/impl.go @@ -26,9 +26,9 @@ import ( "hash" "reflect" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" flogging "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/sdkpatch/logbridge" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" "golang.org/x/crypto/sha3" ) diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/internals.go b/internal/github.com/hyperledger/fabric/bccsp/sw/internals.go similarity index 97% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/internals.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/internals.go index 33c8731a80..0b4d6b9455 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/internals.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/internals.go @@ -23,7 +23,7 @@ package sw import ( "hash" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) // KeyGenerator is a BCCSP-like interface that provides key generation algorithms diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/keyderiv.go b/internal/github.com/hyperledger/fabric/bccsp/sw/keyderiv.go similarity index 98% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/keyderiv.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/keyderiv.go index f81ff4d5f2..404cab7ddd 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/keyderiv.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/keyderiv.go @@ -29,7 +29,7 @@ import ( "crypto/hmac" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) type ecdsaPublicKeyKeyDeriver struct{} diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/keygen.go b/internal/github.com/hyperledger/fabric/bccsp/sw/keygen.go similarity index 95% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/keygen.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/keygen.go index 8c21628d25..938d3cd761 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/keygen.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/keygen.go @@ -27,7 +27,7 @@ import ( "crypto/rsa" "fmt" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) type ecdsaKeyGenerator struct { diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/keyimport.go b/internal/github.com/hyperledger/fabric/bccsp/sw/keyimport.go similarity index 96% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/keyimport.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/keyimport.go index 6a712db49a..7d922f1671 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/keyimport.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/keyimport.go @@ -29,8 +29,8 @@ import ( "crypto/x509" "reflect" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/utils" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/utils" ) type aes256ImportKeyOptsKeyImporter struct{} diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/rsa.go b/internal/github.com/hyperledger/fabric/bccsp/sw/rsa.go similarity index 96% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/rsa.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/rsa.go index 7dc1dc8835..3dd136c4ab 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/rsa.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/rsa.go @@ -26,7 +26,7 @@ import ( "errors" "fmt" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) type rsaSigner struct{} diff --git a/third_party/github.com/hyperledger/fabric/bccsp/sw/rsakey.go b/internal/github.com/hyperledger/fabric/bccsp/sw/rsakey.go similarity index 97% rename from third_party/github.com/hyperledger/fabric/bccsp/sw/rsakey.go rename to internal/github.com/hyperledger/fabric/bccsp/sw/rsakey.go index 4b6e2c9523..179b049b50 100644 --- a/third_party/github.com/hyperledger/fabric/bccsp/sw/rsakey.go +++ b/internal/github.com/hyperledger/fabric/bccsp/sw/rsakey.go @@ -31,7 +31,7 @@ import ( "encoding/asn1" "math/big" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) // rsaPublicKey reflects the ASN.1 structure of a PKCS#1 public key. diff --git a/third_party/github.com/hyperledger/fabric/bccsp/utils/errs.go b/internal/github.com/hyperledger/fabric/bccsp/utils/errs.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/utils/errs.go rename to internal/github.com/hyperledger/fabric/bccsp/utils/errs.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/utils/io.go b/internal/github.com/hyperledger/fabric/bccsp/utils/io.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/utils/io.go rename to internal/github.com/hyperledger/fabric/bccsp/utils/io.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/utils/keys.go b/internal/github.com/hyperledger/fabric/bccsp/utils/keys.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/utils/keys.go rename to internal/github.com/hyperledger/fabric/bccsp/utils/keys.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/utils/slice.go b/internal/github.com/hyperledger/fabric/bccsp/utils/slice.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/utils/slice.go rename to internal/github.com/hyperledger/fabric/bccsp/utils/slice.go diff --git a/third_party/github.com/hyperledger/fabric/bccsp/utils/x509.go b/internal/github.com/hyperledger/fabric/bccsp/utils/x509.go similarity index 100% rename from third_party/github.com/hyperledger/fabric/bccsp/utils/x509.go rename to internal/github.com/hyperledger/fabric/bccsp/utils/x509.go diff --git a/internal/github.com/hyperledger/fabric/common/channelconfig/util.go b/internal/github.com/hyperledger/fabric/common/channelconfig/util.go index cdc6f5dec4..0a5ae1ca9a 100644 --- a/internal/github.com/hyperledger/fabric/common/channelconfig/util.go +++ b/internal/github.com/hyperledger/fabric/common/channelconfig/util.go @@ -13,7 +13,7 @@ package channelconfig import ( "math" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) const ( diff --git a/internal/github.com/hyperledger/fabric/common/util/utils.go b/internal/github.com/hyperledger/fabric/common/util/utils.go index 83da753729..8a47776c8b 100644 --- a/internal/github.com/hyperledger/fabric/common/util/utils.go +++ b/internal/github.com/hyperledger/fabric/common/util/utils.go @@ -25,8 +25,8 @@ import ( "time" "github.com/golang/protobuf/ptypes/timestamp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" ) type alg struct { diff --git a/internal/github.com/hyperledger/fabric/msp/cert.go b/internal/github.com/hyperledger/fabric/msp/cert.go index b645e0300e..6ef3b6893f 100644 --- a/internal/github.com/hyperledger/fabric/msp/cert.go +++ b/internal/github.com/hyperledger/fabric/msp/cert.go @@ -31,8 +31,8 @@ import ( "math/big" "time" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/sw" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/sw" ) type validity struct { diff --git a/internal/github.com/hyperledger/fabric/msp/identities.go b/internal/github.com/hyperledger/fabric/msp/identities.go index a877eed59d..bd67d6ca6f 100644 --- a/internal/github.com/hyperledger/fabric/msp/identities.go +++ b/internal/github.com/hyperledger/fabric/msp/identities.go @@ -29,10 +29,10 @@ import ( "time" "github.com/golang/protobuf/proto" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" flogging "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/sdkpatch/logbridge" logging "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/sdkpatch/logbridge" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/msp" ) diff --git a/internal/github.com/hyperledger/fabric/msp/mspimpl.go b/internal/github.com/hyperledger/fabric/msp/mspimpl.go index 5256334f2a..4a8b3507f9 100644 --- a/internal/github.com/hyperledger/fabric/msp/mspimpl.go +++ b/internal/github.com/hyperledger/fabric/msp/mspimpl.go @@ -19,11 +19,11 @@ import ( "fmt" "github.com/golang/protobuf/proto" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/signer" cryptosuite "github.com/hyperledger/fabric-sdk-go/pkg/cryptosuite/bccsp" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" m "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/msp" ) diff --git a/internal/github.com/hyperledger/fabric/msp/mspimplsetup.go b/internal/github.com/hyperledger/fabric/msp/mspimplsetup.go index 2d90431fe2..1752349a40 100644 --- a/internal/github.com/hyperledger/fabric/msp/mspimplsetup.go +++ b/internal/github.com/hyperledger/fabric/msp/mspimplsetup.go @@ -16,8 +16,8 @@ import ( "crypto/x509/pkix" "fmt" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" m "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/msp" ) diff --git a/internal/github.com/hyperledger/fabric/protos/utils/proputils.go b/internal/github.com/hyperledger/fabric/protos/utils/proputils.go index d8ace4d12d..9dcb26a973 100644 --- a/internal/github.com/hyperledger/fabric/protos/utils/proputils.go +++ b/internal/github.com/hyperledger/fabric/protos/utils/proputils.go @@ -16,10 +16,10 @@ import ( "encoding/hex" "github.com/golang/protobuf/proto" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/common/crypto" "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/common/util" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/common" "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/peer" ) diff --git a/pkg/config/config.go b/pkg/config/config.go index 3761595455..506096a587 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -9,7 +9,6 @@ package config import ( "crypto/x509" "encoding/pem" - "fmt" "io/ioutil" "math/rand" "os" @@ -25,8 +24,6 @@ import ( "github.com/hyperledger/fabric-sdk-go/pkg/config/urlutil" "github.com/hyperledger/fabric-sdk-go/pkg/errors" "github.com/hyperledger/fabric-sdk-go/pkg/logging" - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/pkcs11" ) var logger = logging.NewLogger("fabric_sdk_go") @@ -649,47 +646,3 @@ func loadCAKey(rawData []byte) (*x509.Certificate, error) { } return nil, errors.New("pem data missing") } - -// CSPConfig ... -func (c *Config) CSPConfig() *bccspFactory.FactoryOpts { - switch c.SecurityProvider() { - case "SW": - opts := &bccspFactory.FactoryOpts{ - ProviderName: "SW", - SwOpts: &bccspFactory.SwOpts{ - HashFamily: c.SecurityAlgorithm(), - SecLevel: c.SecurityLevel(), - FileKeystore: &bccspFactory.FileKeystoreOpts{ - KeyStorePath: c.KeyStorePath(), - }, - Ephemeral: c.Ephemeral(), - }, - } - logger.Debug("Initialized SW ") - bccspFactory.InitFactories(opts) - return opts - - case "PKCS11": - pkks := pkcs11.FileKeystoreOpts{KeyStorePath: c.KeyStorePath()} - opts := &bccspFactory.FactoryOpts{ - ProviderName: "PKCS11", - Pkcs11Opts: &pkcs11.PKCS11Opts{ - SecLevel: c.SecurityLevel(), - HashFamily: c.SecurityAlgorithm(), - Ephemeral: c.Ephemeral(), - FileKeystore: &pkks, - Library: c.SecurityProviderLibPath(), - Pin: c.SecurityProviderPin(), - Label: c.SecurityProviderLabel(), - SoftVerify: c.SoftVerify(), - }, - } - logger.Debug("Initialized PKCS11 ") - bccspFactory.InitFactories(opts) - return opts - - default: - panic(fmt.Sprintf("Unsupported BCCSP Provider: %s", c.SecurityProvider())) - - } -} diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 55db15dcc2..5053930271 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -262,17 +262,6 @@ func TestCAConfigFailsByNetworkConfig(t *testing.T) { t.Fatal("Testing ChannelOrderers supposed to fail") } - // Testing empty BCCSP Software provider - sampleConfig.configViper.Set("client.BCCSP.security.default.provider", "") - func() { - defer func() { - if r := recover(); r == nil { - t.Errorf("BCCSP default provider set as empty should panic!") - } - }() - sampleConfig.CSPConfig() - }() - // test empty network objects sampleConfig.configViper.Set("organizations", nil) _, err = sampleConfig.NetworkConfig() @@ -395,28 +384,6 @@ func TestChannelOrderers(t *testing.T) { } } -func TestCSPConfig(t *testing.T) { - cspconfig := configImpl.CSPConfig() - - if cspconfig != nil && cspconfig.ProviderName == "SW" { - if cspconfig.SwOpts.HashFamily != configImpl.SecurityAlgorithm() { - t.Fatalf("Incorrect hashfamily found for cspconfig") - } - - if cspconfig.SwOpts.SecLevel != configImpl.SecurityLevel() { - t.Fatalf("Incorrect security level found for cspconfig") - } - - if cspconfig.SwOpts.Ephemeral { - t.Fatalf("Incorrect Ephemeral found for cspconfig") - } - - if cspconfig.SwOpts.FileKeystore.KeyStorePath != configImpl.KeyStorePath() { - t.Fatalf("Incorrect keystore path found for cspconfig") - } - } -} - func TestPeersConfig(t *testing.T) { pc, err := configImpl.PeersConfig(org0) if err != nil { diff --git a/pkg/cryptosuite/bccsp/cryptosuite.go b/pkg/cryptosuite/bccsp/cryptosuite.go index 5b20d77d07..1337220a44 100644 --- a/pkg/cryptosuite/bccsp/cryptosuite.go +++ b/pkg/cryptosuite/bccsp/cryptosuite.go @@ -7,15 +7,95 @@ SPDX-License-Identifier: Apache-2.0 package bccsp import ( + "fmt" + + "encoding/json" + + "github.com/hyperledger/fabric-sdk-go/api/apiconfig" "github.com/hyperledger/fabric-sdk-go/api/apicryptosuite" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + bccspFactory "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/pkcs11" + "github.com/hyperledger/fabric-sdk-go/pkg/logging" ) -//GetSuite returns cryptosuite adaptor +var logger = logging.NewLogger("fabric_sdk_go") + +//GetSuite returns cryptosuite adaptor for given bccsp.BCCSP implementation func GetSuite(bccsp bccsp.BCCSP) apicryptosuite.CryptoSuite { return &cryptoSuite{bccsp} } +//GetSuiteByConfig returns cryptosuite adaptor for bccsp loaded according to given config +func GetSuiteByConfig(config apiconfig.Config) (apicryptosuite.CryptoSuite, error) { + opts := getOptsByConfig(config) + bccsp, err := bccspFactory.GetBCCSPFromOpts(opts) + + if err != nil { + return nil, err + } + return &cryptoSuite{bccsp}, nil +} + +//GetCryptoOptsJSON returns factory opts in json format +func GetCryptoOptsJSON(config apiconfig.Config) ([]byte, error) { + opts := getOptsByConfig(config) + jsonBytes, err := json.Marshal(opts) + if err != nil { + return nil, err + } + return jsonBytes, nil +} + +//GetSHAOpts returns bccsp SHA hashing opts +func GetSHAOpts() apicryptosuite.HashOpts { + return &bccsp.SHAOpts{} +} + +func getOptsByConfig(c apiconfig.Config) *bccspFactory.FactoryOpts { + var opts *bccspFactory.FactoryOpts + + switch c.SecurityProvider() { + case "SW": + opts = &bccspFactory.FactoryOpts{ + ProviderName: "SW", + SwOpts: &bccspFactory.SwOpts{ + HashFamily: c.SecurityAlgorithm(), + SecLevel: c.SecurityLevel(), + FileKeystore: &bccspFactory.FileKeystoreOpts{ + KeyStorePath: c.KeyStorePath(), + }, + Ephemeral: c.Ephemeral(), + }, + } + logger.Debug("Initialized SW ") + bccspFactory.InitFactories(opts) + return opts + + case "PKCS11": + pkks := pkcs11.FileKeystoreOpts{KeyStorePath: c.KeyStorePath()} + opts = &bccspFactory.FactoryOpts{ + ProviderName: "PKCS11", + Pkcs11Opts: &pkcs11.PKCS11Opts{ + SecLevel: c.SecurityLevel(), + HashFamily: c.SecurityAlgorithm(), + Ephemeral: c.Ephemeral(), + FileKeystore: &pkks, + Library: c.SecurityProviderLibPath(), + Pin: c.SecurityProviderPin(), + Label: c.SecurityProviderLabel(), + SoftVerify: c.SoftVerify(), + }, + } + logger.Debug("Initialized PKCS11 ") + bccspFactory.InitFactories(opts) + return opts + default: + panic(fmt.Sprintf("Unsupported BCCSP Provider: %s", c.SecurityProvider())) + + } +} + //GetKey returns implementation of of cryptosuite.Key func GetKey(newkey bccsp.Key) apicryptosuite.Key { return &key{newkey} diff --git a/pkg/cryptosuite/bccsp/cryptosuite_test.go b/pkg/cryptosuite/bccsp/cryptosuite_test.go index eb38f0cd54..1e62ddfdbe 100644 --- a/pkg/cryptosuite/bccsp/cryptosuite_test.go +++ b/pkg/cryptosuite/bccsp/cryptosuite_test.go @@ -11,21 +11,40 @@ import ( "hash" "testing" + "strings" + + "os" + + "github.com/golang/mock/gomock" + "github.com/hyperledger/fabric-sdk-go/api/apiconfig/mocks" + "github.com/hyperledger/fabric-sdk-go/api/apicryptosuite" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/pkg/logging" + "github.com/hyperledger/fabric-sdk-go/pkg/logging/deflogger" "github.com/hyperledger/fabric-sdk-go/pkg/logging/utils" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" ) const ( - mockIdentifier = "mock-test" - signedIdentifier = "-signed" - signingKey = "signing-key" - hashMessage = "-msg-bytes" - sampleKey = "sample-key" - getKey = "-getkey" - keyImport = "-keyimport" - keyGen = "-keygent" + mockIdentifier = "mock-test" + signedIdentifier = "-signed" + signingKey = "signing-key" + hashMessage = "-msg-bytes" + sampleKey = "sample-key" + getKey = "-getkey" + keyImport = "-keyimport" + keyGen = "-keygent" + shaHashOptsAlgorithm = "SHA" ) +// TestMain Load testing config +func TestMain(m *testing.M) { + if !logging.IsLoggerInitialized() { + logging.InitLogger(deflogger.GetLoggingProvider()) + } + + os.Exit(m.Run()) +} + func TestCryptoSuite(t *testing.T) { //Get BCCSP implementation @@ -34,9 +53,118 @@ func TestCryptoSuite(t *testing.T) { //Get cryptosuite samplecryptoSuite := GetSuite(samplebccsp) + //Verify CryptSuite + verifyCryptoSuite(t, samplecryptoSuite) + +} + +func TestCryptoSuiteByConfig(t *testing.T) { + + //Prepare Config + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + mockConfig := mock_apiconfig.NewMockConfig(mockCtrl) + mockConfig.EXPECT().SecurityProvider().Return("SW") + mockConfig.EXPECT().SecurityAlgorithm().Return("SHA2") + mockConfig.EXPECT().SecurityLevel().Return(256) + mockConfig.EXPECT().KeyStorePath().Return("/tmp/msp") + mockConfig.EXPECT().Ephemeral().Return(false) + + //Get cryptosuite using config + samplecryptoSuite, err := GetSuiteByConfig(mockConfig) + utils.VerifyEmpty(t, err, "Not supposed to get error on GetSuiteByConfig call : %s", err) + utils.VerifyNotEmpty(t, samplecryptoSuite, "Supposed to get valid cryptosuite") + + hashbytes, err := samplecryptoSuite.Hash([]byte(hashMessage), &bccsp.SHAOpts{}) + utils.VerifyEmpty(t, err, "Not supposed to get error on GetSuiteByConfig call : %s", err) + utils.VerifyNotEmpty(t, hashbytes, "Supposed to get valid hash from sample cryptosuite") + +} + +func TestCryptoSuiteByConfigPKCS11Failure(t *testing.T) { + + //Prepare Config + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + //Prepare Config + mockConfig := mock_apiconfig.NewMockConfig(mockCtrl) + mockConfig.EXPECT().SecurityProvider().Return("PKCS11") + mockConfig.EXPECT().SecurityAlgorithm().Return("SHA2") + mockConfig.EXPECT().SecurityLevel().Return(256) + mockConfig.EXPECT().KeyStorePath().Return("/tmp/msp") + mockConfig.EXPECT().Ephemeral().Return(false) + mockConfig.EXPECT().SecurityProviderLibPath().Return("") + mockConfig.EXPECT().SecurityProviderLabel().Return("") + mockConfig.EXPECT().SecurityProviderPin().Return("") + mockConfig.EXPECT().SoftVerify().Return(true) + + //Get cryptosuite using config + samplecryptoSuite, err := GetSuiteByConfig(mockConfig) + utils.VerifyNotEmpty(t, err, "Supposed to get error on GetSuiteByConfig call : %s", err) + utils.VerifyEmpty(t, samplecryptoSuite, "Not supposed to get valid cryptosuite") + +} + +func TestCryptoSuiteByConfigFailures(t *testing.T) { + + //Prepare Config + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + mockConfig := mock_apiconfig.NewMockConfig(mockCtrl) + mockConfig.EXPECT().SecurityProvider().Return("SW") + mockConfig.EXPECT().SecurityAlgorithm().Return("SHA2") + mockConfig.EXPECT().SecurityLevel().Return(100) + mockConfig.EXPECT().KeyStorePath().Return("/tmp/msp") + mockConfig.EXPECT().Ephemeral().Return(false) + + //Get cryptosuite using config + samplecryptoSuite, err := GetSuiteByConfig(mockConfig) + utils.VerifyNotEmpty(t, err, "Supposed to get error on GetSuiteByConfig call : %s", err) + utils.VerifyEmpty(t, samplecryptoSuite, "Not supposed to get valid cryptosuite") + + if !strings.HasPrefix(err.Error(), "Could not initialize BCCSP SW") { + t.Fatalf("Didn't get expected failure, got %s instead", err) + } + +} + +func TestGetCryptoOptsJSON(t *testing.T) { + + expectedJSON := "{\"default\":\"SW\",\"SW\":{\"security\":256,\"hash\":\"SHA2\",\"filekeystore\":{\"KeyStorePath\":\"/tmp/msp\"}}}" + + //Prepare Config + mockCtrl := gomock.NewController(t) + defer mockCtrl.Finish() + mockConfig := mock_apiconfig.NewMockConfig(mockCtrl) + mockConfig.EXPECT().SecurityProvider().Return("SW") + mockConfig.EXPECT().SecurityAlgorithm().Return("SHA2") + mockConfig.EXPECT().SecurityLevel().Return(256) + mockConfig.EXPECT().KeyStorePath().Return("/tmp/msp") + mockConfig.EXPECT().Ephemeral().Return(false) + + //Get cryptosuite using config + cryptOptsJSON, err := GetCryptoOptsJSON(mockConfig) + utils.VerifyEmpty(t, err, "Not supposed to get error on GetCryptoOptsJSON call : %s", err) + utils.VerifyNotEmpty(t, cryptOptsJSON, "Supposed to get valid crypto opts") + + if string(cryptOptsJSON) != expectedJSON { + t.Fatalf("Found unexpected crypto opts JSON, \n expected: %s, \n received: %s", expectedJSON, string(cryptOptsJSON)) + } + +} + +func TestCryptoSuiteHashOpts(t *testing.T) { + //Get CryptoSuite SHA Opts + shaHashOpts := GetSHAOpts() + utils.VerifyNotEmpty(t, shaHashOpts, "Not supposed to be empty shaHashOpts") + utils.VerifyTrue(t, shaHashOpts.Algorithm() == shaHashOptsAlgorithm, "Unexpected SHA hash opts, expected [%s], got [%s]", shaHashOptsAlgorithm, shaHashOpts.Algorithm()) + +} + +func verifyCryptoSuite(t *testing.T, samplecryptoSuite apicryptosuite.CryptoSuite) { //Test cryptosuite.Sign signedBytes, err := samplecryptoSuite.Sign(GetKey(getMockKey(signingKey)), nil, nil) - utils.VerifyEmpty(t, err, "Not supposed to get any error for samplecryptoSuite.GetKey") + utils.VerifyEmpty(t, err, "Not supposed to get any error for samplecryptoSuite.GetKey : %s", err) utils.VerifyTrue(t, string(signedBytes) == mockIdentifier+signedIdentifier, "Got unexpected result from samplecryptoSuite.Sign") //Test cryptosuite.Hash diff --git a/pkg/fabric-ca-client/fabricca.go b/pkg/fabric-ca-client/fabricca.go index e20de61fbc..11337e77d7 100644 --- a/pkg/fabric-ca-client/fabricca.go +++ b/pkg/fabric-ca-client/fabricca.go @@ -16,7 +16,11 @@ import ( "github.com/hyperledger/fabric-sdk-go/pkg/config/urlutil" "github.com/hyperledger/fabric-sdk-go/pkg/logging" + "encoding/json" + "github.com/hyperledger/fabric-sdk-go/api/apicryptosuite" + bccspFactory "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" + cryptosuite "github.com/hyperledger/fabric-sdk-go/pkg/cryptosuite/bccsp" ) var logger = logging.NewLogger("fabric_sdk_go") @@ -80,7 +84,18 @@ func NewFabricCAClient(config config.Config, org string) (*FabricCA, error) { //TLS flag enabled/disabled c.Config.TLS.Enabled = urlutil.IsTLSEnabled(conf.URL) c.Config.MSPDir = config.CAKeyStorePath() - c.Config.CSP = config.CSPConfig() + + //Factory opts + //TODO below logic needs to be moved to internal/cryptosuite bridge + c.Config.CSP = &bccspFactory.FactoryOpts{} + optsbytes, err := cryptosuite.GetCryptoOptsJSON(config) + if err != nil { + return nil, err + } + err = json.Unmarshal(optsbytes, c.Config.CSP) + if err != nil { + return nil, err + } fabricCAClient := FabricCA{fabricCAClient: c} diff --git a/pkg/fabric-ca-client/fabricca_test.go b/pkg/fabric-ca-client/fabricca_test.go index 70f9f5921d..51cd54e6f0 100644 --- a/pkg/fabric-ca-client/fabricca_test.go +++ b/pkg/fabric-ca-client/fabricca_test.go @@ -15,12 +15,12 @@ import ( "github.com/golang/mock/gomock" "github.com/hyperledger/fabric-sdk-go/api/apiconfig/mocks" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" config "github.com/hyperledger/fabric-sdk-go/api/apiconfig" ca "github.com/hyperledger/fabric-sdk-go/api/apifabca" - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" + bccspFactory "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" cryptosuite "github.com/hyperledger/fabric-sdk-go/pkg/cryptosuite/bccsp" "github.com/hyperledger/fabric-sdk-go/pkg/fabric-ca-client/mocks" @@ -326,13 +326,16 @@ func TestCreateInvalidBCCSPSecurityLevelForNewFabricClient(t *testing.T) { mockConfig := mock_apiconfig.NewMockConfig(mockCtrl) clientMockObject := &config.ClientConfig{Organization: "org1", Logging: config.LoggingType{Level: "info"}, CryptoConfig: config.CCType{Path: "test/path"}} - bccspSW := createBCCSPProviderFactoryOptions("SW", "SHA2", 100) // invalid BCCSP options mockConfig.EXPECT().CAConfig(org1).Return(&config.CAConfig{}, nil) mockConfig.EXPECT().CAServerCertFiles(org1).Return([]string{"test"}, nil) mockConfig.EXPECT().CAClientCertFile(org1).Return("", nil) mockConfig.EXPECT().CAClientKeyFile(org1).Return("", nil) mockConfig.EXPECT().CAKeyStorePath().Return(os.TempDir()) - mockConfig.EXPECT().CSPConfig().Return(bccspSW) + mockConfig.EXPECT().SecurityProvider().Return("SW") + mockConfig.EXPECT().SecurityAlgorithm().Return("SHA2") + mockConfig.EXPECT().SecurityLevel().Return(100) + mockConfig.EXPECT().KeyStorePath().Return("/tmp/msp") + mockConfig.EXPECT().Ephemeral().Return(false) mockConfig.EXPECT().Client().Return(clientMockObject, nil) client, err := NewFabricCAClient(mockConfig, org1) if !strings.Contains(err.Error(), "init failed") { @@ -347,14 +350,17 @@ func TestCreateInvalidBCCSPHashFamilyForNewFabricClient(t *testing.T) { mockConfig := mock_apiconfig.NewMockConfig(mockCtrl) clientMockObject := &config.ClientConfig{Organization: "org1", Logging: config.LoggingType{Level: "info"}, CryptoConfig: config.CCType{Path: "test/path"}} - bccspSW := createBCCSPProviderFactoryOptions("SW", "ABC", 256) mockConfig.EXPECT().CAConfig(org1).Return(&config.CAConfig{}, nil) mockConfig.EXPECT().CAServerCertFiles(org1).Return([]string{"test"}, nil) mockConfig.EXPECT().CAClientCertFile(org1).Return("", nil) mockConfig.EXPECT().CAClientKeyFile(org1).Return("", nil) mockConfig.EXPECT().CAKeyStorePath().Return(os.TempDir()) mockConfig.EXPECT().Client().Return(clientMockObject, nil) - mockConfig.EXPECT().CSPConfig().Return(bccspSW) + mockConfig.EXPECT().SecurityProvider().Return("SW") + mockConfig.EXPECT().SecurityAlgorithm().Return("ABC") + mockConfig.EXPECT().SecurityLevel().Return(256) + mockConfig.EXPECT().KeyStorePath().Return("/tmp/msp") + mockConfig.EXPECT().Ephemeral().Return(false) client, err := NewFabricCAClient(mockConfig, org1) if !strings.Contains(err.Error(), "init failed") { t.Fatalf("Expected error init failed. Got: %s (client %v)", err.Error(), client) @@ -368,14 +374,17 @@ func TestCreateValidBCCSPOptsForNewFabricClient(t *testing.T) { mockConfig := mock_apiconfig.NewMockConfig(mockCtrl) clientMockObject := &config.ClientConfig{Organization: "org1", Logging: config.LoggingType{Level: "info"}, CryptoConfig: config.CCType{Path: "test/path"}} - bccspSW := createBCCSPProviderFactoryOptions("SW", "SHA2", 256) mockConfig.EXPECT().CAConfig(org1).Return(&config.CAConfig{}, nil) mockConfig.EXPECT().CAServerCertFiles(org1).Return([]string{"test"}, nil) mockConfig.EXPECT().CAClientCertFile(org1).Return("", nil) mockConfig.EXPECT().CAClientKeyFile(org1).Return("", nil) mockConfig.EXPECT().CAKeyStorePath().Return(os.TempDir()) mockConfig.EXPECT().Client().Return(clientMockObject, nil) - mockConfig.EXPECT().CSPConfig().Return(bccspSW) + mockConfig.EXPECT().SecurityProvider().Return("SW") + mockConfig.EXPECT().SecurityAlgorithm().Return("SHA2") + mockConfig.EXPECT().SecurityLevel().Return(256) + mockConfig.EXPECT().KeyStorePath().Return("/tmp/msp") + mockConfig.EXPECT().Ephemeral().Return(false) _, err := NewFabricCAClient(mockConfig, org1) if err != nil { t.Fatalf("Expected fabric client to be created with SW BCCS provider, but got %v", err.Error()) diff --git a/pkg/fabric-ca-client/mocks/mockconfig.go b/pkg/fabric-ca-client/mocks/mockconfig.go index c1385f7036..11e738e44c 100644 --- a/pkg/fabric-ca-client/mocks/mockconfig.go +++ b/pkg/fabric-ca-client/mocks/mockconfig.go @@ -11,8 +11,6 @@ import ( "time" "github.com/hyperledger/fabric-sdk-go/api/apiconfig" - - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" ) // MockConfig ... @@ -86,13 +84,12 @@ func (c *MockConfig) TcertBatchSize() int { // SecurityAlgorithm ... func (c *MockConfig) SecurityAlgorithm() string { - return "" + return "SHA2" } // SecurityLevel ... func (c *MockConfig) SecurityLevel() int { - return 0 - + return 256 } // OrderersConfig returns a list of defined orderers @@ -130,11 +127,6 @@ func (c *MockConfig) CryptoConfigPath() string { return "" } -// CSPConfig ... -func (c *MockConfig) CSPConfig() *bccspFactory.FactoryOpts { - return nil -} - // NetworkConfig not implemented func (c *MockConfig) NetworkConfig() (*apiconfig.NetworkConfig, error) { return nil, nil diff --git a/pkg/fabric-ca-client/mocks/mockkey.go b/pkg/fabric-ca-client/mocks/mockkey.go index 8a4bc5f25a..1b5df82979 100644 --- a/pkg/fabric-ca-client/mocks/mockkey.go +++ b/pkg/fabric-ca-client/mocks/mockkey.go @@ -6,7 +6,7 @@ SPDX-License-Identifier: Apache-2.0 package mocks -import "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" +import "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" // MockKey mocks BCCSP key type MockKey struct { diff --git a/pkg/fabric-client/client_test.go b/pkg/fabric-client/client_test.go index 18f736253f..3f86da8c48 100644 --- a/pkg/fabric-client/client_test.go +++ b/pkg/fabric-client/client_test.go @@ -14,11 +14,11 @@ import ( "time" fab "github.com/hyperledger/fabric-sdk-go/api/apifabclient" + bccspFactory "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" cryptosuite "github.com/hyperledger/fabric-sdk-go/pkg/cryptosuite/bccsp" "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/identity" kvs "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/keyvaluestore" mocks "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/mocks" - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" ) var testMsp = "testMsp" diff --git a/pkg/fabric-client/events/eventmocks.go b/pkg/fabric-client/events/eventmocks.go index c76b71c1f9..bfaa604f24 100644 --- a/pkg/fabric-client/events/eventmocks.go +++ b/pkg/fabric-client/events/eventmocks.go @@ -16,15 +16,16 @@ import ( "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/common" pb "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/protos/peer" + "github.com/hyperledger/fabric-sdk-go/api/apicryptosuite" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" ledger_util "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/core/ledger/util" fcConsumer "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/events/consumer" + cryptosuite "github.com/hyperledger/fabric-sdk-go/pkg/cryptosuite/bccsp" "github.com/hyperledger/fabric-sdk-go/pkg/errors" client "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client" internal "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/internal" - mocks "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/mocks" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" + "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/mocks" ) type mockEventClientMockEventRegistration struct { @@ -111,11 +112,6 @@ func (mec *mockEventClient) Stop() error { } func createMockedEventHub(t *testing.T) (*EventHub, *mockEventClientFactory) { - // Initialize bccsp factories before calling get client - err := bccspFactory.InitFactories(mocks.NewMockConfig().CSPConfig()) - if err != nil { - t.Fatalf("Failed getting ephemeral software-based BCCSP [%s]", err) - } eventHub, err := NewEventHub(client.NewClient(mocks.NewMockConfig())) if err != nil { t.Fatalf("Error creating event hub: %v", err) @@ -323,7 +319,7 @@ func generateTxID() apitxn.TransactionID { if err != nil { panic(errors.WithMessage(err, "GenerateRandomNonce failed")) } - digest, err := factory.GetDefault().Hash( + digest, err := getDefaultBCCSPSuite().Hash( nonce, &bccsp.SHA256Opts{}) if err != nil { @@ -337,3 +333,7 @@ func generateTxID() apitxn.TransactionID { return txnid } + +func getDefaultBCCSPSuite() apicryptosuite.CryptoSuite { + return cryptosuite.GetSuite(factory.GetDefault()) +} diff --git a/pkg/fabric-client/keyvaluestore/filekeyvaluestore.go b/pkg/fabric-client/keyvaluestore/filekeyvaluestore.go index b4b79b9552..8097608f52 100644 --- a/pkg/fabric-client/keyvaluestore/filekeyvaluestore.go +++ b/pkg/fabric-client/keyvaluestore/filekeyvaluestore.go @@ -11,9 +11,10 @@ import ( "os" "path" + "io" + "github.com/hyperledger/fabric-sdk-go/pkg/errors" "github.com/hyperledger/fabric-sdk-go/pkg/logging" - utils "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/utils" ) var logger = logging.NewLogger("fabric_sdk_go") @@ -64,8 +65,24 @@ func (fkvs *FileKeyValueStore) SetValue(key string, value []byte) error { // createDirIfNotExists func createDirIfNotExists(path string) error { - missing, err := utils.DirMissingOrEmpty(path) - logger.Debugf("KeyStore path [%s] missing [%t]: [%s]", path, missing, err) + + missing := false + _, err := os.Stat(path) + + if err != nil && os.IsNotExist(err) { + missing = true + } + + if !missing { + f, err := os.Open(path) + defer f.Close() + + _, err = f.Readdir(1) + if err != nil && err == io.EOF { + missing = true + } + + } if missing { os.MkdirAll(path, 0755) diff --git a/pkg/fabric-client/mocks/mockconfig.go b/pkg/fabric-client/mocks/mockconfig.go index ece0f99b74..cba30e1189 100644 --- a/pkg/fabric-client/mocks/mockconfig.go +++ b/pkg/fabric-client/mocks/mockconfig.go @@ -13,7 +13,6 @@ import ( config "github.com/hyperledger/fabric-sdk-go/api/apiconfig" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" ) // MockConfig ... @@ -91,12 +90,12 @@ func (c *MockConfig) TcertBatchSize() int { // SecurityAlgorithm ... func (c *MockConfig) SecurityAlgorithm() string { - return "" + return "SHA2" } // SecurityLevel ... func (c *MockConfig) SecurityLevel() int { - return 0 + return 256 } @@ -140,11 +139,6 @@ func (c *MockConfig) CryptoConfigPath() string { return "" } -// CSPConfig ... -func (c *MockConfig) CSPConfig() *bccspFactory.FactoryOpts { - return nil -} - // NetworkConfig not implemented func (c *MockConfig) NetworkConfig() (*config.NetworkConfig, error) { return nil, nil @@ -172,7 +166,7 @@ func (c *MockConfig) Ephemeral() bool { // SecurityProvider ... func (c *MockConfig) SecurityProvider() string { - return "" + return "SW" } // SecurityProviderLabel ... diff --git a/pkg/fabric-client/signingmgr/signingmgr.go b/pkg/fabric-client/signingmgr/signingmgr.go index b623aa0855..dc9343e386 100644 --- a/pkg/fabric-client/signingmgr/signingmgr.go +++ b/pkg/fabric-client/signingmgr/signingmgr.go @@ -9,9 +9,9 @@ package signingmgr import ( "github.com/hyperledger/fabric-sdk-go/api/apiconfig" "github.com/hyperledger/fabric-sdk-go/api/apicryptosuite" + cryptosuite "github.com/hyperledger/fabric-sdk-go/pkg/cryptosuite/bccsp" "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" ) // SigningManager is used for signing objects with private key @@ -26,7 +26,7 @@ type SigningManager struct { // @param {Config} config - configuration provider // @returns {SigningManager} new signing manager func NewSigningManager(cryptoProvider apicryptosuite.CryptoSuite, config apiconfig.Config) (*SigningManager, error) { - return &SigningManager{cryptoProvider: cryptoProvider, hashOpts: &bccsp.SHAOpts{}}, nil + return &SigningManager{cryptoProvider: cryptoProvider, hashOpts: cryptosuite.GetSHAOpts()}, nil } // Sign will sign the given object using provided key diff --git a/scripts/third_party_pins/fabric-ca/apply_upstream.sh b/scripts/third_party_pins/fabric-ca/apply_upstream.sh index adbd537110..75d41eb1be 100755 --- a/scripts/third_party_pins/fabric-ca/apply_upstream.sh +++ b/scripts/third_party_pins/fabric-ca/apply_upstream.sh @@ -45,8 +45,7 @@ echo "Pinning and patching fabric-ca client utils..." declare -a CLIENT_UTILS_IMPORT_SUBSTS=( 's/\"github.com\/pkg\/errors/\"github.com\/hyperledger\/fabric-sdk-go\/pkg\/errors/g' 's/\"github.com\/hyperledger\/fabric-ca/\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric-ca/g' - 's/\"github.com\/hyperledger\/fabric\/bccsp\/signer/\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/bccsp\/signer/g' - 's/\"github.com\/hyperledger\/fabric\/bccsp/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/bccsp/g' + 's/\"github.com\/hyperledger\/fabric\/bccsp/\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/bccsp/g' '/clog.\"github.com\/cloudflare\/cfssl\/log/!s/\"github.com\/cloudflare\/cfssl\/log/log\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric-ca\/sdkpatch\/logbridge/g' 's/\"github.com\/hyperledger\/fabric\//\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\//g' ) diff --git a/scripts/third_party_pins/fabric/apply_fabric_bccsp.sh b/scripts/third_party_pins/fabric/apply_fabric_bccsp.sh deleted file mode 100755 index 38ede34e8c..0000000000 --- a/scripts/third_party_pins/fabric/apply_fabric_bccsp.sh +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/bash -# -# Copyright SecureKey Technologies Inc. All Rights Reserved. -# -# SPDX-License-Identifier: Apache-2.0 -# - -# This script pins the BCCSP package family from Hyperledger Fabric into the SDK -# These files are checked into internal paths. -# Note: This script must be adjusted as upstream makes adjustments - -IMPORT_SUBSTS=($IMPORT_SUBSTS) - -GOIMPORTS_CMD=goimports - -declare -a PKGS=( - "bccsp" - "bccsp/factory" - "bccsp/pkcs11" - "bccsp/signer" - "bccsp/sw" - "bccsp/utils" -) - -declare -a FILES=( - "bccsp/aesopts.go" - "bccsp/bccsp.go" - "bccsp/ecdsaopts.go" - "bccsp/hashopts.go" - "bccsp/keystore.go" - "bccsp/opts.go" - "bccsp/rsaopts.go" - - "bccsp/factory/factory.go" - "bccsp/factory/nopkcs11.go" - "bccsp/factory/opts.go" - "bccsp/factory/pkcs11.go" - "bccsp/factory/pkcs11factory.go" - "bccsp/factory/swfactory.go" - "bccsp/factory/pluginfactory.go" - "bccsp/factory/sdkpatch_pluginfactory_noplugin.go" - - "bccsp/pkcs11/conf.go" - "bccsp/pkcs11/ecdsa.go" - "bccsp/pkcs11/ecdsakey.go" - "bccsp/pkcs11/impl.go" - "bccsp/pkcs11/pkcs11.go" - - "bccsp/signer/signer.go" - - "bccsp/sw/aes.go" - "bccsp/sw/aeskey.go" - "bccsp/sw/conf.go" - "bccsp/sw/dummyks.go" - "bccsp/sw/ecdsa.go" - "bccsp/sw/ecdsakey.go" - "bccsp/sw/fileks.go" - "bccsp/sw/hash.go" - "bccsp/sw/impl.go" - "bccsp/sw/internals.go" - "bccsp/sw/keyderiv.go" - "bccsp/sw/keygen.go" - "bccsp/sw/keyimport.go" - "bccsp/sw/rsa.go" - "bccsp/sw/rsakey.go" - - "bccsp/utils/errs.go" - "bccsp/utils/io.go" - "bccsp/utils/keys.go" - "bccsp/utils/slice.go" - "bccsp/utils/x509.go" -) - -echo 'Removing current upstream project from working directory ...' -rm -Rf "${INTERNAL_PATH}/bccsp" -mkdir -p "${INTERNAL_PATH}/bccsp" - -# Create directory structure for packages -for i in "${PKGS[@]}" -do - mkdir -p $INTERNAL_PATH/${i} -done - -# Apply patching -echo "Patching import paths on upstream project ..." -WORKING_DIR=$TMP_PROJECT_PATH FILES="${FILES[@]}" IMPORT_SUBSTS="${IMPORT_SUBSTS[@]}" scripts/third_party_pins/common/apply_import_patching.sh - -echo "Inserting modification notice ..." -WORKING_DIR=$TMP_PROJECT_PATH FILES="${FILES[@]}" scripts/third_party_pins/common/apply_header_notice.sh - -# Copy patched project into internal paths -echo "Copying patched upstream project into working directory ..." -for i in "${FILES[@]}" -do - TARGET_PATH=`dirname $INTERNAL_PATH/${i}` - cp $TMP_PROJECT_PATH/${i} $TARGET_PATH -done diff --git a/scripts/third_party_pins/fabric/apply_fabric_client_utils.sh b/scripts/third_party_pins/fabric/apply_fabric_client_utils.sh index 41ebe73dc0..f07785b752 100755 --- a/scripts/third_party_pins/fabric/apply_fabric_client_utils.sh +++ b/scripts/third_party_pins/fabric/apply_fabric_client_utils.sh @@ -15,7 +15,13 @@ GOIMPORTS_CMD=goimports GOFILTER_CMD="go run scripts/_go/cmd/gofilter/gofilter.go" declare -a PKGS=( + + "bccsp" + "bccsp/factory" + "bccsp/pkcs11" "bccsp/signer" + "bccsp/sw" + "bccsp/utils" "common/crypto" "common/errors" @@ -40,8 +46,53 @@ declare -a PKGS=( ) declare -a FILES=( + + "bccsp/aesopts.go" + "bccsp/bccsp.go" + "bccsp/ecdsaopts.go" + "bccsp/hashopts.go" + "bccsp/keystore.go" + "bccsp/opts.go" + "bccsp/rsaopts.go" + + "bccsp/factory/factory.go" + "bccsp/factory/nopkcs11.go" + "bccsp/factory/opts.go" + "bccsp/factory/pkcs11.go" + "bccsp/factory/pkcs11factory.go" + "bccsp/factory/swfactory.go" + "bccsp/factory/pluginfactory.go" + "bccsp/factory/sdkpatch_pluginfactory_noplugin.go" + + "bccsp/pkcs11/conf.go" + "bccsp/pkcs11/ecdsa.go" + "bccsp/pkcs11/ecdsakey.go" + "bccsp/pkcs11/impl.go" + "bccsp/pkcs11/pkcs11.go" + "bccsp/signer/signer.go" + "bccsp/sw/aes.go" + "bccsp/sw/aeskey.go" + "bccsp/sw/conf.go" + "bccsp/sw/dummyks.go" + "bccsp/sw/ecdsa.go" + "bccsp/sw/ecdsakey.go" + "bccsp/sw/fileks.go" + "bccsp/sw/hash.go" + "bccsp/sw/impl.go" + "bccsp/sw/internals.go" + "bccsp/sw/keyderiv.go" + "bccsp/sw/keygen.go" + "bccsp/sw/keyimport.go" + "bccsp/sw/rsa.go" + "bccsp/sw/rsakey.go" + + "bccsp/utils/errs.go" + "bccsp/utils/io.go" + "bccsp/utils/keys.go" + "bccsp/utils/slice.go" + "bccsp/utils/x509.go" "common/crypto/random.go" "common/crypto/signer.go" diff --git a/scripts/third_party_pins/fabric/apply_upstream.sh b/scripts/third_party_pins/fabric/apply_upstream.sh index f6870850a8..d8fd6d59c9 100755 --- a/scripts/third_party_pins/fabric/apply_upstream.sh +++ b/scripts/third_party_pins/fabric/apply_upstream.sh @@ -50,8 +50,7 @@ declare -a CLIENT_UTILS_IMPORT_SUBSTS=( 's/\"github.com\/pkg\/errors/\"github.com\/hyperledger\/fabric-sdk-go\/pkg\/errors/g' 's/\"github.com\/hyperledger\/fabric\/common\/flogging/flogging\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/sdkpatch\/logbridge/g' 's/\"github.com\/op\/go-logging/logging\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/sdkpatch\/logbridge/g' - 's/\"github.com\/hyperledger\/fabric\/bccsp\/signer/\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/bccsp\/signer/g' - 's/\"github.com\/hyperledger\/fabric\/bccsp/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/bccsp/g' + 's/\"github.com\/hyperledger\/fabric\/bccsp/\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/bccsp/g' 's/\"github.com\/hyperledger\/fabric\/common\/cauthdsl/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/common\/cauthdsl/g' 's/\"github.com\/hyperledger\/fabric\/protos\/common/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/protos\/common/g' 's/\"github.com\/hyperledger\/fabric\/protos\/peer/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/protos\/peer/g' @@ -73,24 +72,12 @@ declare -a EXTERNAL_UTILS_IMPORT_SUBSTS=( ) eval "INTERNAL_PATH=$THIRDPARTY_FABRIC_PATH TMP_PROJECT_PATH=$TMP_PROJECT_PATH IMPORT_SUBSTS=\"${EXTERNAL_UTILS_IMPORT_SUBSTS[*]}\" $SCRIPTS_PATH/apply_fabric_external_utils.sh" - -# bccsp -echo "Pinning and patching bccsp ..." -declare -a BCCSP_IMPORT_SUBSTS=( - 's/\"github.com\/pkg\/errors/\"github.com\/hyperledger\/fabric-sdk-go\/pkg\/errors/g' - 's/\"github.com\/hyperledger\/fabric\/common\/flogging/flogging\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/sdkpatch\/logbridge/g' - 's/\"github.com\/op\/go-logging/logging\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/sdkpatch\/logbridge/g' - 's/\"github.com\/hyperledger\/fabric\/bccsp/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/bccsp/g' - 's/\"github.com\/hyperledger\/fabric\//\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\//g' -) -eval "INTERNAL_PATH=$THIRDPARTY_FABRIC_BCCSP_PKG_PATH TMP_PROJECT_PATH=$TMP_PROJECT_PATH IMPORT_SUBSTS=\"${BCCSP_IMPORT_SUBSTS[*]}\" $SCRIPTS_PATH/apply_fabric_bccsp.sh" - # protos echo "Pinning and patching protos (third party) ..." declare -a PROTOS_IMPORT_SUBSTS=( 's/\"github.com\/pkg\/errors/\"github.com\/hyperledger\/fabric-sdk-go\/pkg\/errors/g' 's/\"github.com\/hyperledger\/fabric\/common\/flogging/flogging\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/sdkpatch\/logbridge/g' - 's/\"github.com\/hyperledger\/fabric\/bccsp/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/bccsp/g' + 's/\"github.com\/hyperledger\/fabric\/bccsp/\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/bccsp/g' 's/\"github.com\/hyperledger\/fabric\/protos\//\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/protos\//g' 's/\"github.com\/hyperledger\/fabric\//\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\//g' ) @@ -101,7 +88,7 @@ echo "Pinning and patching protos (internal) ..." declare -a PROTOS_INTERNAL_IMPORT_SUBSTS=( 's/\"github.com\/pkg\/errors/\"github.com\/hyperledger\/fabric-sdk-go\/pkg\/errors/g' 's/\"github.com\/hyperledger\/fabric\/common\/flogging/flogging\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/sdkpatch\/logbridge/g' - 's/\"github.com\/hyperledger\/fabric\/bccsp/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/bccsp/g' + 's/\"github.com\/hyperledger\/fabric\/bccsp/\"github.com\/hyperledger\/fabric-sdk-go\/internal\/github.com\/hyperledger\/fabric\/bccsp/g' 's/\"github.com\/hyperledger\/fabric\/protos\/common/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/protos\/common/g' 's/\"github.com\/hyperledger\/fabric\/protos\/peer/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/protos\/peer/g' 's/\"github.com\/hyperledger\/fabric\/protos\/msp/\"github.com\/hyperledger\/fabric-sdk-go\/third_party\/github.com\/hyperledger\/fabric\/protos\/msp/g' diff --git a/scripts/third_party_pins/fabric/patches/0003-Build-flags-to-disable-BCCSP-plugins.patch b/scripts/third_party_pins/fabric/patches/0003-Build-flags-to-disable-BCCSP-plugins.patch index bf82b4c602..da0c48444b 100644 --- a/scripts/third_party_pins/fabric/patches/0003-Build-flags-to-disable-BCCSP-plugins.patch +++ b/scripts/third_party_pins/fabric/patches/0003-Build-flags-to-disable-BCCSP-plugins.patch @@ -27,7 +27,7 @@ index 3870bbcd..fd95e9f3 100644 "plugin" - "github.com/hyperledger/fabric/bccsp" -+ "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" ++ "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" ) const ( @@ -49,7 +49,7 @@ index 00000000..4011a1e0 +import ( + "github.com/pkg/errors" + -+ "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" ++ "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" +) + +const ( diff --git a/test/integration/custom_cryptosuite_test.go b/test/integration/custom_cryptosuite_test.go index fdf42a59d2..750142a408 100644 --- a/test/integration/custom_cryptosuite_test.go +++ b/test/integration/custom_cryptosuite_test.go @@ -16,9 +16,9 @@ import ( "github.com/hyperledger/fabric-sdk-go/api/apitxn" "github.com/hyperledger/fabric-sdk-go/def/fabapi" "github.com/hyperledger/fabric-sdk-go/def/fabapi/context/defprovider" + "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp" + bccspFactory "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" cryptosuite "github.com/hyperledger/fabric-sdk-go/pkg/cryptosuite/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" ) const samplekey = "sample-key" diff --git a/test/integration/fabric_ca_test.go b/test/integration/fabric_ca_test.go index 16d33ab242..d33ca13088 100644 --- a/test/integration/fabric_ca_test.go +++ b/test/integration/fabric_ca_test.go @@ -20,7 +20,6 @@ import ( client "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client" "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/identity" kvs "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/keyvaluestore" - bccspFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" cryptosuite "github.com/hyperledger/fabric-sdk-go/pkg/cryptosuite/bccsp" fabricCAClient "github.com/hyperledger/fabric-sdk-go/pkg/fabric-ca-client" @@ -44,13 +43,11 @@ func TestRegisterEnrollRevoke(t *testing.T) { client := client.NewClient(testFabricConfig) - err = bccspFactory.InitFactories(testFabricConfig.CSPConfig()) + cryptoSuiteProvider, err := cryptosuite.GetSuiteByConfig(testFabricConfig) if err != nil { - t.Fatalf("Failed getting ephemeral software-based BCCSP [%s]", err) + t.Fatalf("Failed getting cryptosuite from config : %s", err) } - cryptoSuiteProvider := cryptosuite.GetSuite(bccspFactory.GetDefault()) - client.SetCryptoSuite(cryptoSuiteProvider) stateStore, err := kvs.CreateNewFileKeyValueStore("/tmp/enroll_user") if err != nil { diff --git a/test/integration/orgs/test_setup.go b/test/integration/orgs/test_setup.go index b86969e111..35ca6fa2c8 100644 --- a/test/integration/orgs/test_setup.go +++ b/test/integration/orgs/test_setup.go @@ -26,7 +26,6 @@ import ( "github.com/hyperledger/fabric-sdk-go/pkg/fabric-client/signingmgr" "github.com/hyperledger/fabric-sdk-go/pkg/fabric-txn/admin" "github.com/hyperledger/fabric-sdk-go/test/integration" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/common/cauthdsl" chmgmt "github.com/hyperledger/fabric-sdk-go/api/apitxn/chmgmtclient" @@ -74,11 +73,11 @@ func initializeFabricClient(t *testing.T) { fcClient := client.NewClient(configImpl) // Initialize crypto suite - err = factory.InitFactories(configImpl.CSPConfig()) + cryptoSuiteprovider, err := cryptosuite.GetSuiteByConfig(configImpl) if err != nil { t.Fatal(err) } - cryptoSuiteprovider := cryptosuite.GetSuite(factory.GetDefault()) + fcClient.SetCryptoSuite(cryptoSuiteprovider) signingMgr, err := signingmgr.NewSigningManager(cryptoSuiteprovider, configImpl) diff --git a/test/integration/pkcs11_config_test.go b/test/integration/pkcs11_config_test.go index fbd8bbff0d..6e0a15a620 100644 --- a/test/integration/pkcs11_config_test.go +++ b/test/integration/pkcs11_config_test.go @@ -13,8 +13,8 @@ import ( "testing" api "github.com/hyperledger/fabric-sdk-go/api/apiconfig" - pkcsFactory "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/factory" - pkcs11 "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/pkcs11" + pkcsFactory "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/factory" + pkcs11 "github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric/bccsp/pkcs11" ) var configImpl api.Config diff --git a/third_party/github.com/hyperledger/fabric/bccsp/signer/signer.go b/third_party/github.com/hyperledger/fabric/bccsp/signer/signer.go deleted file mode 100644 index 1752e02d7f..0000000000 --- a/third_party/github.com/hyperledger/fabric/bccsp/signer/signer.go +++ /dev/null @@ -1,92 +0,0 @@ -/* -Copyright IBM Corp. 2016 All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ -/* -Notice: This file has been modified for Hyperledger Fabric SDK Go usage. -Please review third_party pinning scripts and patches for more details. -*/ -package signer - -import ( - "crypto" - "io" - - "github.com/hyperledger/fabric-sdk-go/pkg/errors" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp" - "github.com/hyperledger/fabric-sdk-go/third_party/github.com/hyperledger/fabric/bccsp/utils" -) - -// bccspCryptoSigner is the BCCSP-based implementation of a crypto.Signer -type bccspCryptoSigner struct { - csp bccsp.BCCSP - key bccsp.Key - pk interface{} -} - -// New returns a new BCCSP-based crypto.Signer -// for the given BCCSP instance and key. -func New(csp bccsp.BCCSP, key bccsp.Key) (crypto.Signer, error) { - // Validate arguments - if csp == nil { - return nil, errors.New("bccsp instance must be different from nil.") - } - if key == nil { - return nil, errors.New("key must be different from nil.") - } - if key.Symmetric() { - return nil, errors.New("key must be asymmetric.") - } - - // Marshall the bccsp public key as a crypto.PublicKey - pub, err := key.PublicKey() - if err != nil { - return nil, errors.Wrap(err, "failed getting public key") - } - - raw, err := pub.Bytes() - if err != nil { - return nil, errors.Wrap(err, "failed marshalling public key") - } - - pk, err := utils.DERToPublicKey(raw) - if err != nil { - return nil, errors.Wrap(err, "failed marshalling der to public key") - } - - return &bccspCryptoSigner{csp, key, pk}, nil -} - -// Public returns the public key corresponding to the opaque, -// private key. -func (s *bccspCryptoSigner) Public() crypto.PublicKey { - return s.pk -} - -// Sign signs digest with the private key, possibly using entropy from -// rand. For an RSA key, the resulting signature should be either a -// PKCS#1 v1.5 or PSS signature (as indicated by opts). For an (EC)DSA -// key, it should be a DER-serialised, ASN.1 signature structure. -// -// Hash implements the SignerOpts interface and, in most cases, one can -// simply pass in the hash function used as opts. Sign may also attempt -// to type assert opts to other types in order to obtain algorithm -// specific values. See the documentation in each package for details. -// -// Note that when a signature of a hash of a larger message is needed, -// the caller is responsible for hashing the larger message and passing -// the hash (as digest) and the hash function (as opts) to Sign. -func (s *bccspCryptoSigner) Sign(rand io.Reader, digest []byte, opts crypto.SignerOpts) (signature []byte, err error) { - return s.csp.Sign(s.key, digest, opts) -}