Skip to content

Commit

Permalink
Move keys.go Utility to SW package
Browse files Browse the repository at this point in the history
Moves the keys.go utility to the SW package
where the majority the consumers are and
kills off production code that existed entirely
for driving tests.

Signed-off-by: Brett Logan <brett.t.logan@ibm.com>
  • Loading branch information
Brett Logan authored and mastersingh24 committed Apr 18, 2020
1 parent ec725f9 commit 179dc42
Show file tree
Hide file tree
Showing 10 changed files with 126 additions and 185 deletions.
4 changes: 2 additions & 2 deletions bccsp/pkcs11/impl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -743,7 +743,7 @@ func TestECDSAKeyImportFromECDSAPublicKey(t *testing.T) {
t.Fatalf("Failed getting ECDSA raw public key [%s]", err)
}

pub, err := utils.DERToPublicKey(pkRaw)
pub, err := x509.ParsePKIXPublicKey(pkRaw)
if err != nil {
t.Fatalf("Failed converting raw to ecdsa.PublicKey [%s]", err)
}
Expand Down Expand Up @@ -862,7 +862,7 @@ func TestKeyImportFromX509ECDSAPublicKey(t *testing.T) {
t.Fatalf("Failed getting ECDSA raw public key [%s]", err)
}

pub, err := utils.DERToPublicKey(pkRaw)
pub, err := x509.ParsePKIXPublicKey(pkRaw)
if err != nil {
t.Fatalf("Failed converting raw to ECDSA.PublicKey [%s]", err)
}
Expand Down
4 changes: 2 additions & 2 deletions bccsp/signer/signer.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ package signer

import (
"crypto"
"crypto/x509"
"io"

"github.com/hyperledger/fabric/bccsp"
"github.com/hyperledger/fabric/bccsp/utils"
"github.com/pkg/errors"
)

Expand Down Expand Up @@ -47,7 +47,7 @@ func New(csp bccsp.BCCSP, key bccsp.Key) (crypto.Signer, error) {
return nil, errors.Wrap(err, "failed marshalling public key")
}

pk, err := utils.DERToPublicKey(raw)
pk, err := x509.ParsePKIXPublicKey(raw)
if err != nil {
return nil, errors.Wrap(err, "failed marshalling der to public key")
}
Expand Down
4 changes: 2 additions & 2 deletions bccsp/signer/signer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ import (
"crypto/ecdsa"
"crypto/elliptic"
"crypto/rand"
"crypto/x509"
"errors"
"testing"

"github.com/hyperledger/fabric/bccsp/mocks"
"github.com/hyperledger/fabric/bccsp/utils"
"github.com/stretchr/testify/assert"
)

Expand Down Expand Up @@ -52,7 +52,7 @@ func TestInitFailures(t *testing.T) {
func TestInit(t *testing.T) {
k, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
assert.NoError(t, err)
pkRaw, err := utils.PublicKeyToDER(&k.PublicKey)
pkRaw, err := x509.MarshalPKIXPublicKey(&k.PublicKey)
assert.NoError(t, err)

signer, err := New(&mocks.MockBCCSP{}, &mocks.MockKey{PK: &mocks.MockKey{BytesValue: pkRaw}})
Expand Down
9 changes: 4 additions & 5 deletions bccsp/sw/aes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import (

"github.com/hyperledger/fabric/bccsp"
"github.com/hyperledger/fabric/bccsp/mocks"
"github.com/hyperledger/fabric/bccsp/utils"
"github.com/stretchr/testify/assert"
)

Expand Down Expand Up @@ -519,8 +518,8 @@ func TestVariousAESKeyEncoding(t *testing.T) {
}

// PEM format
pem := utils.AEStoPEM(key)
keyFromPEM, err := utils.PEMtoAES(pem, nil)
pem := aesToPEM(key)
keyFromPEM, err := pemToAES(pem, nil)
if err != nil {
t.Fatalf("Failed converting PEM to AES key [%s]", err)
}
Expand All @@ -529,11 +528,11 @@ func TestVariousAESKeyEncoding(t *testing.T) {
}

// Encrypted PEM format
pem, err = utils.AEStoEncryptedPEM(key, []byte("passwd"))
pem, err = aesToEncryptedPEM(key, []byte("passwd"))
if err != nil {
t.Fatalf("Failed converting AES key to Encrypted PEM [%s]", err)
}
keyFromPEM, err = utils.PEMtoAES(pem, []byte("passwd"))
keyFromPEM, err = pemToAES(pem, []byte("passwd"))
if err != nil {
t.Fatalf("Failed converting encrypted PEM to AES key [%s]", err)
}
Expand Down
15 changes: 7 additions & 8 deletions bccsp/sw/fileks.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"sync"

"github.com/hyperledger/fabric/bccsp"
"github.com/hyperledger/fabric/bccsp/utils"
)

// NewFileBasedKeyStore instantiated a file-based key store at a given position.
Expand Down Expand Up @@ -217,7 +216,7 @@ func (ks *fileBasedKeyStore) searchKeystoreForSKI(ski []byte) (k bccsp.Key, err
continue
}

key, err := utils.PEMtoPrivateKey(raw, ks.pwd)
key, err := pemToPrivateKey(raw, ks.pwd)
if err != nil {
continue
}
Expand Down Expand Up @@ -258,7 +257,7 @@ func (ks *fileBasedKeyStore) getSuffix(alias string) string {
}

func (ks *fileBasedKeyStore) storePrivateKey(alias string, privateKey interface{}) error {
rawKey, err := utils.PrivateKeyToPEM(privateKey, ks.pwd)
rawKey, err := privateKeyToPEM(privateKey, ks.pwd)
if err != nil {
logger.Errorf("Failed converting private key to PEM [%s]: [%s]", alias, err)
return err
Expand All @@ -274,7 +273,7 @@ func (ks *fileBasedKeyStore) storePrivateKey(alias string, privateKey interface{
}

func (ks *fileBasedKeyStore) storePublicKey(alias string, publicKey interface{}) error {
rawKey, err := utils.PublicKeyToPEM(publicKey, ks.pwd)
rawKey, err := publicKeyToPEM(publicKey, ks.pwd)
if err != nil {
logger.Errorf("Failed converting public key to PEM [%s]: [%s]", alias, err)
return err
Expand All @@ -290,7 +289,7 @@ func (ks *fileBasedKeyStore) storePublicKey(alias string, publicKey interface{})
}

func (ks *fileBasedKeyStore) storeKey(alias string, key []byte) error {
pem, err := utils.AEStoEncryptedPEM(key, ks.pwd)
pem, err := aesToEncryptedPEM(key, ks.pwd)
if err != nil {
logger.Errorf("Failed converting key to PEM [%s]: [%s]", alias, err)
return err
Expand All @@ -316,7 +315,7 @@ func (ks *fileBasedKeyStore) loadPrivateKey(alias string) (interface{}, error) {
return nil, err
}

privateKey, err := utils.PEMtoPrivateKey(raw, ks.pwd)
privateKey, err := pemToPrivateKey(raw, ks.pwd)
if err != nil {
logger.Errorf("Failed parsing private key [%s]: [%s].", alias, err.Error())

Expand All @@ -337,7 +336,7 @@ func (ks *fileBasedKeyStore) loadPublicKey(alias string) (interface{}, error) {
return nil, err
}

privateKey, err := utils.PEMtoPublicKey(raw, ks.pwd)
privateKey, err := pemToPublicKey(raw, ks.pwd)
if err != nil {
logger.Errorf("Failed parsing private key [%s]: [%s].", alias, err.Error())

Expand All @@ -358,7 +357,7 @@ func (ks *fileBasedKeyStore) loadKey(alias string) ([]byte, error) {
return nil, err
}

key, err := utils.PEMtoAES(pem, ks.pwd)
key, err := pemToAES(pem, ks.pwd)
if err != nil {
logger.Errorf("Failed parsing key [%s]: [%s]", alias, err)

Expand Down
5 changes: 2 additions & 3 deletions bccsp/sw/fileks_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import (
"path/filepath"
"testing"

"github.com/hyperledger/fabric/bccsp/utils"
"github.com/stretchr/testify/assert"
)

Expand Down Expand Up @@ -72,11 +71,11 @@ func TestBigKeyFile(t *testing.T) {

cspKey := &ecdsaPrivateKey{privKey}
ski := cspKey.SKI()
rawKey, err := utils.PrivateKeyToPEM(privKey, nil)
rawKey, err := privateKeyToPEM(privKey, nil)
assert.NoError(t, err)

// Large padding array, of some values PEM parser will NOOP
bigBuff := make([]byte, (1 << 17))
bigBuff := make([]byte, 1<<17)
for i := range bigBuff {
bigBuff[i] = '\n'
}
Expand Down
8 changes: 4 additions & 4 deletions bccsp/sw/impl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -697,7 +697,7 @@ func TestECDSAKeyImportFromECDSAPublicKey(t *testing.T) {
t.Fatalf("Failed getting ECDSA raw public key [%s]", err)
}

pub, err := utils.DERToPublicKey(pkRaw)
pub, err := derToPublicKey(pkRaw)
if err != nil {
t.Fatalf("Failed converting raw to ecdsa.PublicKey [%s]", err)
}
Expand Down Expand Up @@ -745,7 +745,7 @@ func TestECDSAKeyImportFromECDSAPrivateKey(t *testing.T) {
}

// Import the ecdsa.PrivateKey
priv, err := utils.PrivateKeyToDER(key)
priv, err := privateKeyToDER(key)
if err != nil {
t.Fatalf("Failed converting raw to ecdsa.PrivateKey [%s]", err)
}
Expand All @@ -759,7 +759,7 @@ func TestECDSAKeyImportFromECDSAPrivateKey(t *testing.T) {
}

// Import the ecdsa.PublicKey
pub, err := utils.PublicKeyToDER(&key.PublicKey)
pub, err := x509.MarshalPKIXPublicKey(&key.PublicKey)
if err != nil {
t.Fatalf("Failed converting raw to ecdsa.PublicKey [%s]", err)
}
Expand Down Expand Up @@ -879,7 +879,7 @@ func TestKeyImportFromX509ECDSAPublicKey(t *testing.T) {
t.Fatalf("Failed getting ECDSA raw public key [%s]", err)
}

pub, err := utils.DERToPublicKey(pkRaw)
pub, err := derToPublicKey(pkRaw)
if err != nil {
t.Fatalf("Failed converting raw to ECDSA.PublicKey [%s]", err)
}
Expand Down
5 changes: 2 additions & 3 deletions bccsp/sw/keyimport.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import (
"reflect"

"github.com/hyperledger/fabric/bccsp"
"github.com/hyperledger/fabric/bccsp/utils"
)

type aes256ImportKeyOptsKeyImporter struct{}
Expand Down Expand Up @@ -63,7 +62,7 @@ func (*ecdsaPKIXPublicKeyImportOptsKeyImporter) KeyImport(raw interface{}, opts
return nil, errors.New("Invalid raw. It must not be nil.")
}

lowLevelKey, err := utils.DERToPublicKey(der)
lowLevelKey, err := derToPublicKey(der)
if err != nil {
return nil, fmt.Errorf("Failed converting PKIX to ECDSA public key [%s]", err)
}
Expand All @@ -88,7 +87,7 @@ func (*ecdsaPrivateKeyImportOptsKeyImporter) KeyImport(raw interface{}, opts bcc
return nil, errors.New("[ECDSADERPrivateKeyImportOpts] Invalid raw. It must not be nil.")
}

lowLevelKey, err := utils.DERToPrivateKey(der)
lowLevelKey, err := derToPrivateKey(der)
if err != nil {
return nil, fmt.Errorf("Failed converting PKIX to ECDSA public key [%s]", err)
}
Expand Down
Loading

0 comments on commit 179dc42

Please sign in to comment.