diff --git a/crypto/openssl_common.go b/crypto/openssl_common.go index 06c458afc827096fe91f16618959f58fef55b9a3..164ade87620d4d4031097f4c5b32dab5f3f47ecd 100644 --- a/crypto/openssl_common.go +++ b/crypto/openssl_common.go @@ -7,7 +7,7 @@ import ( pb "github.com/libp2p/go-libp2p-core/crypto/pb" - openssl "github.com/spacemonkeygo/openssl" + openssl "github.com/libp2p/go-openssl" ) // define these as separate types so we can add more key types later and reuse @@ -63,15 +63,21 @@ func (pk *opensslPublicKey) Raw() ([]byte, error) { // Equals checks whether this key is equal to another func (pk *opensslPublicKey) Equals(k Key) bool { - a, err := pk.Raw() - if err != nil { - return false - } - b, err := k.Raw() - if err != nil { - return false + k0, ok := k.(*RsaPublicKey) + if !ok { + a, err := pk.Raw() + if err != nil { + return false + } + b, err := k.Raw() + if err != nil { + return false + } + + return bytes.Equal(a, b) } - return bytes.Equal(a, b) + + return pk.key.Equal(k0.opensslPublicKey.key) } // Sign returns a signature of the input data @@ -104,13 +110,19 @@ func (sk *opensslPrivateKey) Raw() ([]byte, error) { // Equals checks whether this key is equal to another func (sk *opensslPrivateKey) Equals(k Key) bool { - a, err := sk.Raw() - if err != nil { - return false - } - b, err := k.Raw() - if err != nil { - return false + k0, ok := k.(*RsaPrivateKey) + if !ok { + a, err := sk.Raw() + if err != nil { + return false + } + b, err := k.Raw() + if err != nil { + return false + } + + return bytes.Equal(a, b) } - return bytes.Equal(a, b) + + return sk.key.Equal(k0.opensslPrivateKey.key) } diff --git a/crypto/rsa_openssl.go b/crypto/rsa_openssl.go index 913dead6af228e315d6df3383090d2f5f4f83303..fd9d4510439e8a0d5151e5151f0ca7ae732593c3 100644 --- a/crypto/rsa_openssl.go +++ b/crypto/rsa_openssl.go @@ -6,7 +6,7 @@ import ( "errors" "io" - openssl "github.com/spacemonkeygo/openssl" + openssl "github.com/libp2p/go-openssl" ) // RsaPrivateKey is an rsa private key diff --git a/go.mod b/go.mod index e875b674ed8dd3a3c9fea6165e3034965c2fb27e..ff1b4cac01daeef6c883aa6d384074cc8561ed65 100644 --- a/go.mod +++ b/go.mod @@ -8,12 +8,12 @@ require ( github.com/jbenet/goprocess v0.1.3 github.com/libp2p/go-flow-metrics v0.0.1 github.com/libp2p/go-msgio v0.0.4 + github.com/libp2p/go-openssl v0.0.1 github.com/minio/sha256-simd v0.1.0 github.com/mr-tron/base58 v1.1.2 github.com/multiformats/go-multiaddr v0.0.4 github.com/multiformats/go-multihash v0.0.5 github.com/smola/gocompat v0.2.0 - github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a go.opencensus.io v0.21.0 golang.org/x/crypto v0.0.0-20190618222545-ea8f1a30c443 ) diff --git a/go.sum b/go.sum index 1a08908e19c4d5b67a79a1f8c8fd373c7cc1e6af..e63e210642bf92a568a541963386934c52b85256 100644 --- a/go.sum +++ b/go.sum @@ -68,13 +68,14 @@ github.com/libp2p/go-flow-metrics v0.0.1 h1:0gxuFd2GuK7IIP5pKljLwps6TvcuYgvG7Atq github.com/libp2p/go-flow-metrics v0.0.1/go.mod h1:Iv1GH0sG8DtYN3SVJ2eG221wMiNpZxBdp967ls1g+k8= github.com/libp2p/go-msgio v0.0.4 h1:agEFehY3zWJFUHK6SEMR7UYmk2z6kC3oeCM7ybLhguA= github.com/libp2p/go-msgio v0.0.4/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= +github.com/libp2p/go-msgio v0.0.4 h1:agEFehY3zWJFUHK6SEMR7UYmk2z6kC3oeCM7ybLhguA= +github.com/libp2p/go-msgio v0.0.4/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= +github.com/libp2p/go-openssl v0.0.1 h1:hOIo7l0lXir9UzQE2zPxwd/Gdts1LFik0nqhbDZrG8U= +github.com/libp2p/go-openssl v0.0.1/go.mod h1:v8Zw2ijCSWBQi8Pq5GAixw6DbFfa9u6VIYDXnvOXkc0= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= @@ -102,12 +103,9 @@ github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sirupsen/logrus v1.2.0 h1:juTguoYk5qI21pwyTXY3B3Y5cOTH3ZUyZCg1v/mihuo= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/smola/gocompat v0.2.0 h1:6b1oIMlUXIpz//VKEDzPVBK8KG7beVwmHIUEBIs/Pns= github.com/smola/gocompat v0.2.0/go.mod h1:1B0MlxbmoZNo3h8guHp8HztB3BSYR5itql9qtVc0ypY= -github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a h1:/eS3yfGjQKG+9kayBkj0ip1BGhq6zJ3eaVksphxAaek= -github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a/go.mod h1:7AyxJNCJ7SBZ1MfVQCWD6Uqo2oubI2Eq2y2eqf+A5r0= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= @@ -154,6 +152,8 @@ golang.org/x/sys v0.0.0-20190219092855-153ac476189d h1:Z0Ahzd7HltpJtjAHHxX8QFP3j golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb h1:fgwFCsaw9buMuxNd6+DQfAuSFqbNiQZpcgJQAgJsK6k= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635 h1:2eB4G6bDQDeP69ZXbOKC00S2Kf6TIiRS+DzfKsKeQU0= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=