2022-09-05 07:06:08 +00:00
|
|
|
/*
|
|
|
|
Copyright (c) Edgeless Systems GmbH
|
|
|
|
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
*/
|
|
|
|
|
2022-03-22 15:03:15 +00:00
|
|
|
package azure
|
|
|
|
|
|
|
|
import (
|
2022-09-21 11:47:57 +00:00
|
|
|
"github.com/edgelesssys/constellation/v2/internal/atls"
|
|
|
|
"github.com/edgelesssys/constellation/v2/internal/attestation/azure/snp"
|
|
|
|
"github.com/edgelesssys/constellation/v2/internal/attestation/azure/trustedlaunch"
|
|
|
|
"github.com/edgelesssys/constellation/v2/internal/attestation/vtpm"
|
2022-03-22 15:03:15 +00:00
|
|
|
)
|
|
|
|
|
2022-08-31 18:10:49 +00:00
|
|
|
// NewIssuer returns an SNP issuer if it can successfully read the idkeydigest from the TPM.
|
|
|
|
// Otherwise returns a Trusted Launch issuer.
|
|
|
|
func NewIssuer() atls.Issuer {
|
2022-10-05 13:02:46 +00:00
|
|
|
if _, err := snp.GetIDKeyDigest(vtpm.OpenVTPM); err == nil {
|
2022-08-31 18:10:49 +00:00
|
|
|
return snp.NewIssuer()
|
2022-08-19 10:26:29 +00:00
|
|
|
}
|
2022-10-05 13:02:46 +00:00
|
|
|
return trustedlaunch.NewIssuer()
|
2022-08-19 10:26:29 +00:00
|
|
|
}
|