43 lines
911 B
Go
43 lines
911 B
Go
// Copyright 2021 Contributors to the Parsec project.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package requests
|
|
|
|
// ProviderID for providers
|
|
type ProviderID uint8
|
|
|
|
// Provider UUIDs
|
|
const (
|
|
ProviderCore ProviderID = 0
|
|
ProviderMBed ProviderID = 1
|
|
ProviderPKCS11 ProviderID = 2
|
|
ProviderTPM ProviderID = 3
|
|
ProviderTrustedService ProviderID = 4
|
|
)
|
|
|
|
// HasCrypto returns true if the provider supports crypto
|
|
func (p ProviderID) HasCrypto() bool {
|
|
return p.IsValid() && p != ProviderCore
|
|
}
|
|
|
|
func (p ProviderID) IsValid() bool {
|
|
return p >= ProviderCore && p <= ProviderTrustedService
|
|
}
|
|
|
|
func (p ProviderID) String() string {
|
|
switch p {
|
|
case ProviderCore:
|
|
return "Core"
|
|
case ProviderMBed:
|
|
return "MBed"
|
|
case ProviderPKCS11:
|
|
return "PKCS11"
|
|
case ProviderTPM:
|
|
return "TPM"
|
|
case ProviderTrustedService:
|
|
return "TrustedService"
|
|
default:
|
|
return "Unknown"
|
|
}
|
|
}
|