2022-09-05 03:06:08 -04:00
|
|
|
/*
|
|
|
|
Copyright (c) Edgeless Systems GmbH
|
|
|
|
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
*/
|
|
|
|
|
2022-08-01 03:11:13 -04:00
|
|
|
package attestation
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/edgelesssys/constellation/internal/crypto/testvector"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestDeriveClusterID(t *testing.T) {
|
|
|
|
require := require.New(t)
|
|
|
|
assert := assert.New(t)
|
|
|
|
|
|
|
|
testvector := testvector.HKDFClusterID
|
|
|
|
clusterID, err := DeriveClusterID(testvector.Secret, testvector.Salt)
|
|
|
|
require.NoError(err)
|
|
|
|
assert.Equal(testvector.Output, clusterID)
|
|
|
|
|
|
|
|
clusterIDdiff, err := DeriveClusterID(testvector.Secret, []byte("different-salt"))
|
|
|
|
require.NoError(err)
|
|
|
|
assert.NotEqual(clusterID, clusterIDdiff)
|
|
|
|
|
|
|
|
clusterIDdiff, err = DeriveClusterID([]byte("different-secret"), testvector.Salt)
|
|
|
|
require.NoError(err)
|
|
|
|
assert.NotEqual(clusterID, clusterIDdiff)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestDeriveMeasurementSecret(t *testing.T) {
|
|
|
|
require := require.New(t)
|
|
|
|
assert := assert.New(t)
|
|
|
|
|
|
|
|
testvector := testvector.HKDFMeasurementSecret
|
|
|
|
measurementSecret, err := DeriveMeasurementSecret(testvector.Secret, testvector.Salt)
|
|
|
|
require.NoError(err)
|
|
|
|
assert.Equal(testvector.Output, measurementSecret)
|
|
|
|
|
|
|
|
measurementSecretdiff, err := DeriveMeasurementSecret(testvector.Secret, []byte("different-salt"))
|
|
|
|
require.NoError(err)
|
|
|
|
assert.NotEqual(measurementSecret, measurementSecretdiff)
|
|
|
|
|
|
|
|
measurementSecretdiff, err = DeriveMeasurementSecret([]byte("different-secret"), testvector.Salt)
|
|
|
|
require.NoError(err)
|
|
|
|
assert.NotEqual(measurementSecret, measurementSecretdiff)
|
|
|
|
}
|