Documentation
¶
Overview ¶
Copyright (c) Ultraviolet SPDX-License-Identifier: Apache-2.0
Copyright (c) Ultraviolet SPDX-License-Identifier: Apache-2.0
Copyright (c) Ultraviolet SPDX-License-Identifier: Apache-2.0
Copyright (c) Ultraviolet SPDX-License-Identifier: Apache-2.0
Index ¶
- Variables
- func OID(platformType attestation.PlatformType) (asn1.ObjectIdentifier, error)
- type AttestationProvider
- type CertificateProvider
- func NewAttestedCAProvider(attestationProvider AttestationProvider, subject CertificateSubject, ...) CertificateProvider
- func NewAttestedProvider(attestationProvider AttestationProvider, subject CertificateSubject) CertificateProvider
- func NewProvider(provider attestation.Provider, platformType attestation.PlatformType, ...) (CertificateProvider, error)
- type CertificateSubject
- type CertificateVerifier
Constants ¶
This section is empty.
Variables ¶
var ( SNPvTPMOID = asn1.ObjectIdentifier{2, 99999, 1, 0} AzureOID = asn1.ObjectIdentifier{2, 99999, 1, 1} TDXOID = asn1.ObjectIdentifier{2, 99999, 1, 2} )
Platform-specific OIDs for certificate extensions.
Functions ¶
func OID ¶ added in v0.8.0
func OID(platformType attestation.PlatformType) (asn1.ObjectIdentifier, error)
Types ¶
type AttestationProvider ¶ added in v0.8.0
type AttestationProvider interface {
Attest(pubKey []byte, nonce []byte) ([]byte, error)
OID() asn1.ObjectIdentifier
PlatformType() attestation.PlatformType
}
AttestationProvider defines the interface for platform attestation operations.
func NewAttestationProvider ¶ added in v0.8.0
func NewAttestationProvider(provider attestation.Provider, platformType attestation.PlatformType) (AttestationProvider, error)
NewAttestationProvider creates a new attestation provider for the given platform type.
type CertificateProvider ¶ added in v0.8.0
type CertificateProvider interface {
GetCertificate(clientHello *tls.ClientHelloInfo) (*tls.Certificate, error)
}
CertificateProvider defines the interface for providing TLS certificates.
func NewAttestedCAProvider ¶ added in v0.8.0
func NewAttestedCAProvider( attestationProvider AttestationProvider, subject CertificateSubject, certsSDK sdk.SDK, cvmID, agentToken string, ) CertificateProvider
NewAttestedCAProvider creates a new attested certificate provider for CA-signed certificates.
func NewAttestedProvider ¶ added in v0.8.0
func NewAttestedProvider( attestationProvider AttestationProvider, subject CertificateSubject, ) CertificateProvider
NewAttestedProvider creates a new attested certificate provider for self-signed certificates.
func NewProvider ¶ added in v0.8.0
func NewProvider(provider attestation.Provider, platformType attestation.PlatformType, agentToken, cvmID string, certsSDK sdk.SDK) (CertificateProvider, error)
type CertificateSubject ¶ added in v0.8.0
type CertificateSubject struct {
Organization string
CommonName string
Country string
Province string
Locality string
StreetAddress string
PostalCode string
}
CertificateSubject contains certificate subject information.
func DefaultCertificateSubject ¶ added in v0.8.0
func DefaultCertificateSubject() CertificateSubject
DefaultCertificateSubject returns the default certificate subject for Ultraviolet.
type CertificateVerifier ¶ added in v0.8.0
type CertificateVerifier interface {
VerifyPeerCertificate(rawCerts [][]byte, verifiedChains [][]*x509.Certificate, nonce []byte) error
}
func NewCertificateVerifier ¶ added in v0.8.0
func NewCertificateVerifier(rootCAs *x509.CertPool) CertificateVerifier