Documentation
¶
Index ¶
- Variables
- type Algorithm
- type Attestation
- type AuthenticationKey
- type CertificateAuthority
- type CertificateMetadata
- type CertificateParameters
- type CertificateResponseData
- type ContextKey
- type EC2InstanceMetadata
- type EC2NodeAttestation
- type EnvironmentKey
- type Extensions
- type InstanceIdentityDocument
- type NodeAttestation
- type NodeIIDAttestation
- type ProvisionerAccountPayload
- type ServiceAccountPayload
- type UserKey
Constants ¶
This section is empty.
Variables ¶
View Source
var CertificateRequestExtension = map[string]Extensions{ "EndEntityClientAuthCertificate": { KeyUsage: x509.KeyUsageDigitalSignature | x509.KeyUsageKeyEncipherment, ExtendedKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth}, TemplateArn: "arn:aws:acm-pca:::template/EndEntityClientAuthCertificate/V1", }, "EndEntityServerAuthCertificate": { KeyUsage: x509.KeyUsageDigitalSignature | x509.KeyUsageKeyEncipherment, ExtendedKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, TemplateArn: "arn:aws:acm-pca:::template/EndEntityServerAuthCertificate/V1", }, "CodeSigningCertificate": { KeyUsage: x509.KeyUsageDigitalSignature, ExtendedKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageCodeSigning}, TemplateArn: "arn:aws:acm-pca:::template/CodeSigningCertificate/V1", }, }
View Source
var Methods = map[string]AuthenticationKey{ "/grpc.health.v1.Health/Check": PassAuthentication, "/baseca.v1.Account/LoginUser": PassAuthentication, "/baseca.v1.Account/UpdateUserCredentials": PassAuthentication, "/baseca.v1.Certificate/SignCSR": ServiceAuthentication, "/baseca.v1.Certificate/OperationsSignCSR": ProvisionerAuthentication, "/baseca.v1.Certificate/QueryCertificateMetadata": ProvisionerAuthentication, "/baseca.v1.Service/ProvisionServiceAccount": ProvisionerAuthentication, "/baseca.v1.Service/GetServiceAccountByMetadata": ProvisionerAuthentication, "/baseca.v1.Service/DeleteProvisionedServiceAccount": ProvisionerAuthentication, }
View Source
var SubordinatePath string
View Source
var ValidNodeAttestation = map[string]bool{ "Local": false, "AWS": true, }
Functions ¶
This section is empty.
Types ¶
type Algorithm ¶
type Algorithm struct {
Algorithm x509.PublicKeyAlgorithm
KeySize map[int]interface{}
Signature map[string]bool
SigningAlgorithm map[x509.SignatureAlgorithm]bool
}
type Attestation ¶
type Attestation uint
const (
AWS_IID Attestation = iota
)
func (Attestation) String ¶
func (a Attestation) String() string
type AuthenticationKey ¶
type AuthenticationKey uint
const ( PassAuthentication AuthenticationKey = iota ServiceAuthentication ProvisionerAuthentication )
type CertificateAuthority ¶
type CertificateMetadata ¶
type CertificateParameters ¶
type CertificateResponseData ¶
type CertificateResponseData struct {
Certificate string `json:"certificate"`
IntermediateCertificateChain string `json:"intermediate_certificate_chain,omitempty"`
RootCertificateChain string `json:"root_certificate_chain,omitempty"`
Metadata CertificateMetadata `json:"metadata"`
}
type ContextKey ¶
type ContextKey uint
const ( // Context Metadata ServiceAuthenticationContextKey ContextKey = iota ProvisionerAuthenticationContextKey UserAuthenticationContextKey )
type EC2InstanceMetadata ¶
type EC2NodeAttestation ¶
type EC2NodeAttestation struct {
ClientID uuid.UUID `json:"client_id"`
RoleArn string `json:"instance_profile_arn,omitempty"`
AssumeRole string `json:"assume_role,omitempty"`
SecurityGroups []string `json:"security_groups,omitempty"`
Region string `json:"region,omitempty"`
InstanceID string `json:"instance_id,omitempty"`
ImageID string `json:"image_id,omitempty"`
InstanceTags map[string]string `json:"instance_tags,omitempty"`
}
Node Attestation Configured in Database
type EnvironmentKey ¶
type EnvironmentKey uint
const ( // Environments Production EnvironmentKey = iota PreProduction Staging Development Sandbox Local Corporate )
func (EnvironmentKey) String ¶
func (u EnvironmentKey) String() string
type Extensions ¶
type Extensions struct {
KeyUsage x509.KeyUsage
ExtendedKeyUsage []x509.ExtKeyUsage
TemplateArn string
}
type InstanceIdentityDocument ¶
type InstanceIdentityDocument struct {
AccountId string `json:"accountId"`
Architecture string `json:"architecture"`
AvailabilityZone string `json:"availabilityZone"`
ImageId string `json:"imageId"`
InstanceId string `json:"instanceId"`
InstanceType string `json:"instanceType"`
PrivateIp string `json:"privateIp"`
Region string `json:"region"`
Version string `json:"version"`
}
type NodeAttestation ¶
type NodeAttestation struct {
EC2NodeAttestation EC2NodeAttestation `json:"aws_iid"`
}
type NodeIIDAttestation ¶
type NodeIIDAttestation struct {
Uuid uuid.UUID
EC2InstanceMetadata aws_iid.EC2InstanceMetadata
Attestation EC2NodeAttestation
}
type ProvisionerAccountPayload ¶
type ProvisionerAccountPayload struct {
ClientId uuid.UUID `json:"client_id"`
ProvisionerAccount string `json:"provisioner_account"`
Environments []string `json:"environments"`
ValidSubjectAlternateNames []string `json:"subject_alternate_names"`
MaxCertificateValidity uint32 `json:"max_certificate_validity"`
ExtendedKeys []string `json:"certificate_request_extension"`
RegularExpression string `json:"regular_expression"`
}
type ServiceAccountPayload ¶
type ServiceAccountPayload struct {
ServiceID uuid.UUID `json:"service_id"`
ServiceAccount string `json:"service_account"`
Environment string `json:"environment"`
ValidSubjectAlternateName []string `json:"subject_alternate_name"`
ValidCertificateAuthorities []string `json:"certificate_authorities"`
CertificateValidity int16 `json:"certificate_validity"`
SubordinateCa string `json:"subordinate_ca"`
ExtendedKey string `json:"certificate_request_extension"`
SANRegularExpression string `json:"regular_expression"`
}
Click to show internal directories.
Click to hide internal directories.