Skip to content

Commit b59178b

Browse files
committed
Added NewTdxAdapter.
1 parent 1cf93de commit b59178b

File tree

3 files changed

+53
-4
lines changed

3 files changed

+53
-4
lines changed

go-tdx/tdx_adapter.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2022-2024 Intel Corporation
2+
* Copyright (c) 2022-2025 Intel Corporation
33
* All rights reserved.
44
* SPDX-License-Identifier: BSD-3-Clause
55
*/
@@ -27,6 +27,15 @@ type compositeTdxEvidence struct {
2727
VerifierNonce *connector.VerifierNonce `json:"verifier_nonce,omitempty"`
2828
}
2929

30+
// NewTdxAdapter returns a new TDX Adapter instance
31+
func NewTdxAdapter(udata []byte, withCcel bool) (connector.EvidenceAdapter, error) {
32+
return &tdxAdapter{
33+
uData: udata,
34+
withCcel: withCcel,
35+
cfsQuoteProvider: &cfsQuoteProviderImpl{},
36+
}, nil
37+
}
38+
3039
// CollectEvidence is used to get TDX quote using TDX Quote Generation service
3140
func (adapter *tdxAdapter) CollectEvidence(nonce []byte) (*connector.Evidence, error) {
3241

go-tdx/tdx_adapter_test.go

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
/*
2-
* Copyright (c) 2022-2024 Intel Corporation
2+
* Copyright (c) 2022-2025 Intel Corporation
33
* All rights reserved.
44
* SPDX-License-Identifier: BSD-3-Clause
55
*/
66

77
package tdx
88

99
import (
10+
"bytes"
1011
"testing"
1112

1213
"github.com/intel/trustauthority-client/go-connector"
@@ -146,6 +147,30 @@ func TestCompositeAdapterNew(t *testing.T) {
146147
}
147148
}
148149

150+
func TestTdxAdapterNew(t *testing.T) {
151+
udata := []byte("userdata")
152+
adapter, err := NewTdxAdapter(udata, false)
153+
if err != nil {
154+
t.Errorf("Error: %v", err)
155+
}
156+
157+
if adapter == nil {
158+
t.Errorf("expected adapter")
159+
}
160+
161+
if bytes.Equal(adapter.(*tdxAdapter).uData, udata) == false {
162+
t.Errorf("expected uData to match")
163+
}
164+
165+
if adapter.(*tdxAdapter).withCcel != false {
166+
t.Errorf("expected withCcel to be false")
167+
}
168+
169+
if adapter.(*tdxAdapter).cfsQuoteProvider == nil {
170+
t.Errorf("expected cfsQuoteProvider")
171+
}
172+
}
173+
149174
type MockCfsQuoteProvider struct {
150175
mock.Mock
151176
}

tdx-cli/cmd/token.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@ import (
1313
"fmt"
1414
"os"
1515
"regexp"
16+
"strings"
1617

1718
"github.com/golang-jwt/jwt/v4"
1819
"github.com/google/uuid"
20+
"github.com/intel/trustauthority-client/go-aztdx"
1921
"github.com/intel/trustauthority-client/go-connector"
22+
"github.com/intel/trustauthority-client/go-tdx"
2023
"github.com/intel/trustauthority-client/go-tpm"
2124
"github.com/intel/trustauthority-client/tdx-cli/constants"
2225
"github.com/pkg/errors"
@@ -281,12 +284,24 @@ func getToken(cmd *cobra.Command,
281284
return err
282285
}
283286

284-
evidence, err := evidenceBuilder.Build()
287+
_, err = evidenceBuilder.Build()
285288
if err != nil {
286289
return err
287290
}
288291

289-
response, err := trustAuthorityConnector.AttestEvidence(evidence, config.CloudProvider, reqId)
292+
var adapter connector.EvidenceAdapter
293+
if strings.ToLower(config.CloudProvider) == CloudProviderAzure {
294+
tpmFactory := tpm.NewTpmFactory()
295+
adapter, err = aztdx.NewAzureTdxAdapter(tpmFactory, userDataBytes)
296+
} else {
297+
adapter, err = tdx.NewTdxAdapter(userDataBytes, withCcel)
298+
}
299+
if err != nil {
300+
return errors.Wrap(err, "Error while creating tdx adapter")
301+
}
302+
303+
response, err := trustAuthorityConnector.Attest(connector.AttestArgs{Adapter: adapter, PolicyIds: pIds, RequestId: reqId, TokenSigningAlg: tokenSigningAlg, PolicyMustMatch: policyMustMatch})
304+
//response, err := trustAuthorityConnector.AttestEvidence(evidence, config.CloudProvider, reqId)
290305
if response.Headers != nil {
291306
fmt.Fprintln(os.Stderr, "Trace Id:", response.Headers.Get(connector.HeaderTraceId))
292307
if reqId != "" {

0 commit comments

Comments
 (0)