65 lines
2.1 KiB
Go
65 lines
2.1 KiB
Go
//go:build pkcs11
|
|
// +build pkcs11
|
|
|
|
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package common_test
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/hyperledger/fabric/bccsp/factory"
|
|
"github.com/hyperledger/fabric/core/config/configtest"
|
|
"github.com/hyperledger/fabric/internal/peer/common"
|
|
"github.com/spf13/viper"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestBCCSPPKCS11EnvVars(t *testing.T) {
|
|
t.Setenv("CORE_PEER_BCCSP_DEFAULT", "PKCS11")
|
|
t.Setenv("CORE_PEER_BCCSP_PKCS11_HASH", "SHA2")
|
|
t.Setenv("CORE_PEER_BCCSP_PKCS11_SECURITY", "384")
|
|
t.Setenv("CORE_PEER_BCCSP_PKCS11_LIBRARY", "lib.so")
|
|
t.Setenv("CORE_PEER_BCCSP_PKCS11_LABEL", "token")
|
|
t.Setenv("CORE_PEER_BCCSP_PKCS11_PIN", "password")
|
|
t.Setenv("CORE_PEER_BCCSP_PKCS11_SOFTWAREVERIFY", "1")
|
|
t.Setenv("CORE_PEER_BCCSP_PKCS11_IMMUTABLE", "true")
|
|
t.Setenv("CORE_PEER_BCCSP_PKCS11_ALTID", "01234567890abcdef")
|
|
t.Setenv("CORE_PEER_BCCSP_PKCS11_KEYIDS", "1 2,3 4")
|
|
|
|
viper.SetConfigName(common.CmdRoot)
|
|
viper.SetEnvPrefix(common.CmdRoot)
|
|
configtest.AddDevConfigPath(nil)
|
|
viper.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
|
|
viper.AutomaticEnv()
|
|
if err := viper.ReadInConfig(); err != nil {
|
|
fmt.Printf("could not read config %s\n", err)
|
|
os.Exit(-1)
|
|
}
|
|
|
|
bccspConfig := factory.GetDefaultOpts()
|
|
err := common.InitBCCSPConfig(bccspConfig)
|
|
require.NoError(t, err)
|
|
|
|
require.Equal(t, "PKCS11", bccspConfig.Default)
|
|
require.Equal(t, "SHA2", bccspConfig.PKCS11.Hash)
|
|
require.Equal(t, 384, bccspConfig.PKCS11.Security)
|
|
require.Equal(t, "lib.so", bccspConfig.PKCS11.Library)
|
|
require.Equal(t, "token", bccspConfig.PKCS11.Label)
|
|
require.Equal(t, "password", bccspConfig.PKCS11.Pin)
|
|
require.Equal(t, true, bccspConfig.PKCS11.SoftwareVerify)
|
|
require.Equal(t, true, bccspConfig.PKCS11.Immutable)
|
|
require.Equal(t, "01234567890abcdef", bccspConfig.PKCS11.AltID)
|
|
require.Equal(t, 2, len(bccspConfig.PKCS11.KeyIDs))
|
|
require.Equal(t, "1", bccspConfig.PKCS11.KeyIDs[0].SKI)
|
|
require.Equal(t, "2", bccspConfig.PKCS11.KeyIDs[0].ID)
|
|
require.Equal(t, "3", bccspConfig.PKCS11.KeyIDs[1].SKI)
|
|
require.Equal(t, "4", bccspConfig.PKCS11.KeyIDs[1].ID)
|
|
}
|