Documentation
¶
Index ¶
- Constants
- Variables
- func ConvertBase64P7BtoCertificates(base64P7B string) ([]*x509.Certificate, error)
- func ConvertBase64P7BtoPEM(base64P7B string) ([]string, error)
- type AddCertificateToStore
- type Agent
- type Agent9x
- type AlgorithmDataRequestV2
- type AlgorithmDataResponse
- type AuthConfig
- type CA
- type CRLDistributionPoints
- type CertStoreContainer
- type CertStoreInventory
- type CertStoreInventoryV1
- type CertStoreTypeResponse
- type CertStoreTypeResponseList
- type CertificateInformation
- type CertificateInformationV2
- type CertificateLocations
- type CertificateOwnerChangeParams
- type CertificateStore
- type CertificateStoreType
- type CertificateStoreTypeGeneric
- type CertificateSubject
- type Client
- func (c *Client) AddCertificateToStores(config *AddCertificateToStore) ([]string, error)
- func (c *Client) ApproveAgent(id string) (string, error)
- func (c *Client) ChangeCertificateOwnerRole(certificateId int, req *OwnerRequest, params ...*CertificateOwnerChangeParams) error
- func (c *Client) CreateEnrollmentPattern(req *EnrollmentPatternCreateRequest, forceTemplateDefault ...bool) (*EnrollmentPatternResponse, error)
- func (c *Client) CreateSecurityIdentity(csia *CreateSecurityIdentityArg) (*CreateSecurityIdentityResponse, error)
- func (c *Client) CreateSecurityRole(input *CreateSecurityRoleArg) (*CreateSecurityRoleResponse, error)
- func (c *Client) CreateStore(ca *CreateStoreFctArgs) (*CreateStoreResponse, error)
- func (c *Client) CreateStoreType(ca *CertificateStoreType) (*CertificateStoreType, error)
- func (c *Client) DeleteCertificateStore(storeId string) error
- func (c *Client) DeleteCertificateStoreType(id int) (*DeleteStoreType, error)
- func (c *Client) DeleteEnrollmentPattern(id int) error
- func (c *Client) DeleteSecurityIdentity(id int) error
- func (c *Client) DeleteSecurityRole(id int) error
- func (c *Client) DeployPFXCertificate(args *DeployPFXArgs) (*DeployPFXResp, error)
- func (c *Client) DisApproveAgent(id string) (string, error)
- func (c *Client) DownloadCertificate(certId int, thumbprint string, serialNumber string, issuerDn string, ...) (*x509.Certificate, []*x509.Certificate, *string, error)
- func (c *Client) EnrollCSR(ea *EnrollCSRFctArgs) (*EnrollResponse, error)
- func (c *Client) EnrollPFX(ea *EnrollPFXFctArgs) (*EnrollResponse, error)
- func (c *Client) EnrollPFXV2(ea *EnrollPFXFctArgsV2) (*EnrollResponseV2, error)
- func (c *Client) FetchAgentLogs(id string) (string, error)
- func (c *Client) GetAgent(id string) ([]Agent, error)
- func (c *Client) GetAgentList() ([]Agent, error)
- func (c *Client) GetAllMetadataFields() ([]MetadataField, error)
- func (c *Client) GetCAList() ([]CA, error)
- func (c *Client) GetCertStoreInventory(storeId string) (*[]CertStoreInventory, error)
- func (c *Client) GetCertificateContext(gca *GetCertificateContextArgs) (*GetCertificateResponse, error)
- func (c *Client) GetCertificateStoreByClientAndStorePath(clientMachine string, storePath, containerID interface{}) (*[]GetCertificateStoreResponse, error)
- func (c *Client) GetCertificateStoreByContainerID(containerID interface{}) (*[]GetCertificateStoreResponse, error)
- func (c *Client) GetCertificateStoreByID(storeId string) (*GetCertificateStoreResponse, error)
- func (c *Client) GetCertificateStoreType(id interface{}) (*CertificateStoreType, error)
- func (c *Client) GetCertificateStoreTypeById(id int) (*CertificateStoreType, error)
- func (c *Client) GetCertificateStoreTypeByName(name string) (*CertificateStoreType, error)
- func (c *Client) GetEnrollmentPattern(id int) (*EnrollmentPatternResponse, error)
- func (c *Client) GetEnrollmentPatterns(params ...*EnrollmentPatternsQueryParams) ([]EnrollmentPatternResponse, error)
- func (c *Client) GetSecurityIdentities() ([]GetSecurityIdentityResponse, error)
- func (c *Client) GetSecurityRole(id interface{}) (*GetSecurityRoleResponse, error)
- func (c *Client) GetSecurityRoles() ([]GetSecurityRolesResponse, error)
- func (c *Client) GetStoreContainer(id interface{}) (*CertStoreContainer, error)
- func (c *Client) GetStoreContainers() (*[]CertStoreContainer, error)
- func (c *Client) GetTemplate(Id interface{}) (*GetTemplateResponse, error)
- func (c *Client) GetTemplates() ([]GetTemplateResponse, error)
- func (c *Client) ListCertificateStoreTypes() (*[]CertificateStoreType, error)
- func (c *Client) ListCertificateStores(params *map[string]interface{}) (*[]GetCertificateStoreResponse, error)
- func (c *Client) ListCertificates(q map[string]string) ([]GetCertificateResponse, error)
- func (c *Client) ListDeniedCertificates(q map[string]string) ([]WorkflowCertificate, error)
- func (c *Client) ListExternalValidationPendingCertificates(q map[string]string) ([]WorkflowCertificate, error)
- func (c *Client) ListPendingCertificates(q map[string]string) ([]WorkflowCertificate, error)
- func (c *Client) ListWorkflowCert(endpoint string) ([]WorkflowCertificate, error)
- func (c *Client) RecoverCertificate(certId int, thumbprint string, serialNumber string, issuerDn string, ...) (interface{}, *x509.Certificate, []*x509.Certificate, *string, error)
- func (c *Client) RemoveCertificateFromStores(config *RemoveCertificateFromStore) ([]string, error)
- func (c *Client) ResetAgent(id string) (string, error)
- func (c *Client) RevokeCert(rvargs *RevokeCertArgs) error
- func (c *Client) UpdateEnrollmentPattern(id int, req *EnrollmentPatternRequest, forceTemplateDefault ...bool) (*EnrollmentPatternResponse, error)
- func (c *Client) UpdateMetadata(um *UpdateMetadataArgs) error
- func (c *Client) UpdateSecurityRole(input *UpdateSecurityRoleArg) (*UpdateSecurityRoleResponse, error)
- func (c *Client) UpdateStore(ua *UpdateStoreFctArgs) (*UpdateStoreResponse, error)
- func (c *Client) UpdateStoreType(ca *CertificateStoreType) (*CertificateStoreType, error)
- func (c *Client) UpdateTemplate(uta *UpdateTemplateArg) (*UpdateTemplateResponse, error)
- type CreateSecurityIdentityArg
- type CreateSecurityIdentityResponse
- type CreateSecurityRoleArg
- type CreateSecurityRoleResponse
- type CreateStoreFctArgs
- type CreateStoreResponse
- type DeleteStoreType
- type DeployPFXArgs
- type DeployPFXResp
- type DetailedKeyUsage
- type EnrollCSRFctArgs
- type EnrollPFXFctArgs
- type EnrollPFXFctArgsV2
- type EnrollResponse
- type EnrollResponseV2
- type EnrollmentPatternAssociatedRoleResponse
- type EnrollmentPatternCAResponse
- type EnrollmentPatternCreateRequest
- type EnrollmentPatternDefaultRequest
- type EnrollmentPatternDefaultResponse
- type EnrollmentPatternFieldRequest
- type EnrollmentPatternFieldResponse
- type EnrollmentPatternMetadataFieldRequest
- type EnrollmentPatternMetadataFieldResponse
- type EnrollmentPatternPolicyRequest
- type EnrollmentPatternPolicyResponse
- type EnrollmentPatternRegexesRequest
- type EnrollmentPatternRegexesResponse
- type EnrollmentPatternRequest
- type EnrollmentPatternResponse
- type EnrollmentPatternTemplateResponse
- type EnrollmentPatternsQueryParams
- type EntryParameter
- type EntryParameterGeneric
- type EntryPassword
- type GetCertStoreInventoryResp
- type GetCertificateContextArgs
- type GetCertificateResponse
- type GetCertificateStoreResponse
- type GetSecurityIdentityResponse
- type GetSecurityRoleResponse
- type GetSecurityRolesResponse
- type GetTemplateResponse
- type InventoriedCertificate
- type InventoryDaily
- type InventoryInterval
- type InventoryOnce
- type InventorySchedule
- type ListCertificateResponse
- type ListCertificateStoresResponse
- type LocationsCount
- type MetadataField
- type OwnerRequest
- type PropertyDefinition
- type ProviderTypeParam
- type ProviderTypeParameterValue
- type ReEnrollmnentConfig
- type RemoveCertificateFromStore
- type RevokeCertArgs
- type SANs
- type SSLLocations
- type SecretParamValue
- type SecurityIdentity
- type SecurityRoleIdentityConfig
- type SecurityRoleInformation
- type SecurityRolePermission
- type SpecialPropertiesSecretValue
- type SpecialPropertiesValue
- type StorePasswordConfig
- type StoreTypePasswordOptions
- type StoreTypePropertyDefinition
- type StoreTypePropertyDefinitionGeneric
- type StoreTypeSupportedOperations
- type StoreTypes
- type StringTuple
- type SubjectAltNameElements
- type TemplateEnrollmentFields
- type TemplateMetadataFields
- type TemplateRegex
- type TerraformLogger
- type UpdateMetadataArgs
- type UpdateSecurityRoleArg
- type UpdateSecurityRoleResponse
- type UpdateStoreFctArgs
- type UpdateStorePasswordConfig
- type UpdateStoreResponse
- type UpdateTemplateArg
- type UpdateTemplateResponse
- type WorkflowActionResponse
- type WorkflowCertificate
- type WorkflowDenyCertificateRequest
Constants ¶
const ( MAX_ITERATIONS = 100000 MAX_WAIT_SECONDS = 30 MAX_CONTEXT_DEADLINE_RETRIES = 5 )
Variables ¶
var ( // DefaultAPIPath is the default API path for Keyfactor Command. DefaultAPIPath = auth_providers.DefaultCommandAPIPath // EnvCommandHostname is the environment variable for the Keyfactor Command hostname. EnvCommandHostname = auth_providers.EnvKeyfactorHostName // EnvCommandAPI is the environment variable for the Keyfactor Command API path. EnvCommandAPI = auth_providers.EnvKeyfactorAPIPath // EnvCommandTimeout is the environment variable for the Keyfactor Command timeout. EnvCommandTimeout = auth_providers.EnvKeyfactorClientTimeout // EnvCommandUsername is the environment variable for the Keyfactor Command username. EnvCommandUsername = auth_providers.EnvKeyfactorUsername // EnvCommandPassword is the environment variable for the Keyfactor Command password. EnvCommandPassword = auth_providers.EnvKeyfactorPassword // EnvCommandDomain is the environment variable for the Keyfactor Command domain. EnvCommandDomain = auth_providers.EnvKeyfactorDomain // EnvCommandClientId is the environment variable for the Keyfactor Command client ID. EnvCommandClientId = auth_providers.EnvKeyfactorClientID // EnvCommandClientSecret is the environment variable for the Keyfactor Command client secret. EnvCommandClientSecret = auth_providers.EnvKeyfactorClientSecret // EnvCommandOAuthTokenUrl is the environment variable for the Keyfactor Command OAuth token URL. EnvCommandOAuthTokenUrl = auth_providers.EnvKeyfactorAuthTokenURL )
Functions ¶
func ConvertBase64P7BtoCertificates ¶
func ConvertBase64P7BtoCertificates(base64P7B string) ([]*x509.Certificate, error)
ConvertBase64P7BtoCertificates takes a base64 encoded P7B certificate string and returns a slice of *x509.Certificate.
func ConvertBase64P7BtoPEM ¶
ConvertBase64P7BtoPEM takes a base64 encoded P7B certificate string and converts it to PEM format.
Types ¶
type AddCertificateToStore ¶
type AddCertificateToStore struct {
// An integer containing the Keyfactor Command reference ID of the certificate to be added to the certificate store(s).
CertificateId int `json:"CertificateId"`
// An array of certificate store GUIDs to identify the certificate stores to which the certificate should be added
// and provide appropriate reference information for the certificate in the store.
CertificateStores *[]CertificateStore `json:"CertificateStores,omitempty"`
// The inventory schedule for the add job
InventorySchedule *InventorySchedule `json:"Schedule,omitempty"`
// An integer containing the Keyfactor Command reference ID of the certificate to be added to the certificate store(s).
CollectionId int `json:"CollectionId,omitempty"`
}
AddCertificateToStore contains configuration content required to add a certificate to one or multiple certificate stores located inside Keyfactor Command.
type Agent ¶
type Agent struct {
AgentId string `json:"AgentId"`
ClientMachine string `json:"ClientMachine"`
Username string `json:"Username"`
AgentPlatform int `json:"AgentPlatform"`
Status int `json:"Status"`
Version string `json:"Version"`
LastSeen string `json:"LastSeen"`
Capabilities []string `json:"Capabilities"`
Blueprint string `json:"Blueprint"`
Thumbprint string `json:"Thumbprint"`
LegacyThumbprint string `json:"LegacyThumbprint"`
AuthCertificateReenrollment string `json:"AuthCertificateReenrollment"`
LastThumbprintUsed string `json:"LastThumbprintUsed"`
LastErrorCode int `json:"LastErrorCode"`
LastErrorMessage string `json:"LastErrorMessage"`
}
type Agent9x ¶
type Agent9x struct {
AgentId string `json:"AgentId"`
AgentPoolId string `json:"AgentPoolId"`
ClientMachine string `json:"ClientMachine"`
Username string `json:"Username"`
AgentPlatform int `json:"AgentPlatform"`
Status int `json:"Status"`
EnableDiscover bool `json:"EnableDiscover"`
EnableMonitor bool `json:"EnableMonitor"`
Version string `json:"Version"`
LastSeen string `json:"LastSeen"`
Thumbprint string `json:"Thumbprint"`
LegacyThumbprint string `json:"LegacyThumbprint"`
}
type AlgorithmDataRequestV2 ¶ added in v3.3.0
type AlgorithmDataRequestV2 struct {
KeyType *string `json:"KeyType,omitempty"`
KeySize *int `json:"KeySize,omitempty"`
CurveName *string `json:"CurveName,omitempty"`
}
AlgorithmDataRequestV2 represents algorithm configuration for requests
type AlgorithmDataResponse ¶ added in v3.3.0
type AlgorithmDataResponse struct {
Name string `json:"Name,omitempty"`
BitLengths []int `json:"bit_lengths,omitempty"`
Curves []string `json:"curves,omitempty"`
}
AlgorithmDataResponse represents algorithm configuration in responses
type AuthConfig ¶
type AuthConfig interface {
Authenticate() error
GetHttpClient() (*http.Client, error)
GetServerConfig() *auth_providers.Server
}
Define an interface that both CommandConfigOauth and CommandAuthConfigBasic implement
type CA ¶
type CA struct {
Id int `json:"Id"`
LogicalName string `json:"LogicalName"`
HostName string `json:"HostName"`
Delegate bool `json:"Delegate"`
ForestRoot string `json:"ForestRoot"`
Remote bool `json:"Remote"`
Agent string `json:"Agent"`
Standalone bool `json:"Standalone"`
MonitorThresholds bool `json:"MonitorThresholds"`
IssuanceMax int `json:"IssuanceMax"`
IssuanceMin int `json:"IssuanceMin"`
DenialMax int `json:"DenialMax"`
FailureMax int `json:"FailureMax"`
RFCEnforcement bool `json:"RFCEnforcement"`
Properties string `json:"Properties"`
AllowedEnrollmentTypes int `json:"AllowedEnrollmentTypes"`
KeyRetention int `json:"KeyRetention"`
KeyRetentionDays int `json:"KeyRetentionDays"`
ExplicitCredentials bool `json:"ExplicitCredentials"`
SubscriberTerms bool `json:"SubscriberTerms"`
ExplicitUser string `json:"ExplicitUser"`
ExplicitPassword struct {
SecretValue string `json:"SecretValue"`
Parameters struct {
} `json:"Parameters"`
Provider int `json:"Provider"`
} `json:"ExplicitPassword"`
UseAllowedRequesters bool `json:"UseAllowedRequesters"`
AllowedRequesters []string `json:"AllowedRequesters"`
}
type CRLDistributionPoints ¶
type CRLDistributionPoints struct {
Id int `json:"Id"`
URL string `json:"URL"`
URLHash string `json:"URLHash"`
}
CRLDistributionPoints contains details on the CRL distribution and is returned inside GetCertificateResponse with the GetCertificateContext method.
type CertStoreContainer ¶
type CertStoreContainer struct {
Id *int `json:"Id,omitempty"`
Name string `json:"Name"`
OverwriteSchedules bool `json:"OverwriteSchedules"`
Schedule string `json:"Schedule"`
CertStoreType int `json:"CertStoreType"`
}
CertStoreContainer holds the function arguments used for calling the GetStoreContainers method.
type CertStoreInventory ¶
type CertStoreInventory struct {
Name string `json:"Name,omitempty"` // This is the cert `alias` in the store
Certificates []InventoriedCertificate `json:"Certificates,omitempty"`
Thumbprints []string `json:"-"`
Serials []string `json:"-"`
Ids []int `json:"-"`
}
type CertStoreInventoryV1 ¶
type CertStoreInventoryV1 struct {
CertStoreInventoryItemId int `json:"CertStoreInventoryItemId"`
Name string `json:"Name,omitempty"`
Certificates []InventoriedCertificate `json:"Certificates,omitempty"`
Thumbprints map[string]bool `json:"-"`
Serials map[string]bool `json:"-"`
Ids map[int]bool `json:"-"`
Properties map[string]interface{} `json:"-"`
Parameters map[string]interface{} `json:"-"`
}
type CertStoreTypeResponse ¶
type CertStoreTypeResponse struct {
Name string `json:"Name"`
ShortName string `json:"ShortName"`
Capability string `json:"Capability"`
StoreType int `json:"StoreType"`
ImportType int `json:"ImportType"`
LocalStore bool `json:"LocalStore"`
SupportedOperations struct {
Add bool `json:"Add"`
Create bool `json:"Create"`
Discovery bool `json:"Discovery"`
Enrollment bool `json:"Enrollment"`
Remove bool `json:"Remove"`
} `json:"SupportedOperations"`
Properties []PropertyDefinition `json:"Properties"`
PasswordOptions struct {
EntrySupported bool `json:"EntrySupported"`
StoreRequired bool `json:"StoreRequired"`
Style string `json:"Style"`
} `json:"PasswordOptions"`
StorePathValue []string `json:"store_path_value"`
PrivateKeyAllowed string `json:"private_key_allowed"`
JobProperties []string `json:"job_properties"`
ServerRequired bool `json:"ServerRequired"`
PowerShell bool `json:"PowerShell"`
BlueprintAllowed bool `json:"BlueprintAllowed"`
CustomAliasAllowed string `json:"CustomAliasAllowed"`
ServerRegistration int `json:"ServerRegistration"`
InventoryEndpoint string `json:"InventoryEndpoint"`
InventoryJobType string `json:"InventoryJobType"`
ManagementJobType string `json:"ManagementJobType"`
DiscoveryJobType string `json:"DiscoveryJobType"`
EnrollmentJobType string `json:"EnrollmentJobType"`
}
CertStoreTypeResponse contains the response elements returned from the GetCertificateStoreType method.
type CertStoreTypeResponseList ¶
type CertStoreTypeResponseList []struct {
CertStoreTypeResponse
}
type CertificateInformation ¶
type CertificateInformation struct {
SerialNumber string `json:"SerialNumber"`
IssuerDN string `json:"IssuerDN"`
Thumbprint string `json:"Thumbprint"`
KeyfactorID int `json:"KeyfactorID"`
KeyfactorRequestID int `json:"KeyfactorRequestId"`
PKCS12Blob string `json:"PKCS12Blob"`
Certificates []string `json:"Certificates"`
RequestDisposition string `json:"RequestDisposition"`
DispositionMessage string `json:"DispositionMessage"`
EnrollmentContext interface{} `json:"EnrollmentContext"`
}
CertificateInformation contains response data from the Enroll methods.
type CertificateInformationV2 ¶
type CertificateInformationV2 struct {
SerialNumber string `json:"SerialNumber"`
IssuerDN string `json:"IssuerDN"`
Thumbprint string `json:"Thumbprint"`
KeyfactorId int `json:"KeyfactorId"`
Pkcs12Blob string `json:"Pkcs12Blob"`
Password interface{} `json:"Password"`
WorkflowInstanceId string `json:"WorkflowInstanceId"`
WorkflowReferenceId int `json:"WorkflowReferenceId"`
StoreIdsInvalidForRenewal []interface{} `json:"StoreIdsInvalidForRenewal"`
KeyfactorRequestId int `json:"KeyfactorRequestId"`
RequestDisposition string `json:"RequestDisposition"`
DispositionMessage string `json:"DispositionMessage"`
EnrollmentContext interface{} `json:"EnrollmentContext"`
}
type CertificateLocations ¶
type CertificateLocations struct {
StoreMachine string `json:"StoreMachine,omitempty"`
StorePath string `json:"StorePath,omitempty"`
StoreType int `json:"StoreType,omitempty"`
Alias string `json:"Alias,omitempty"`
ChainLevel int `json:"ChainLevel,omitempty"`
CertStoreId string `json:"CertStoreId,omitempty"`
}
CertificateLocations contains response and request data for the GetCertificateContext and DeployPFXCertificate methods
type CertificateOwnerChangeParams ¶ added in v3.3.0
type CertificateOwnerChangeParams struct {
CollectionId *int `json:"collectionId,omitempty"`
ContainerId *int `json:"containerId,omitempty"`
}
CertificateOwnerChangeParams represents the parameters for changing certificate ownership
type CertificateStore ¶
type CertificateStore struct {
// A string containing the GUID for the certificate store to which the certificate should be added.
CertificateStoreId string `json:"CertificateStoreId,omitempty"`
// A string providing an alias to be used for the certificate upon entry into the certificate store. The function of the alias varies depending on the certificate store type.
Alias string `json:"Alias,omitempty"`
// A Boolean that sets whether a certificate in the store with the Alias provided should be overwritten with the certificate being added (true) or not (false). The default is false
Overwrite bool `json:"Overwrite,omitempty"`
// The password to set on the entry within the certificate store, if applicable. Only select certificate stores support entry passwords (e.g. Java keystores).
EntryPassword *EntryPassword `json:"EntryPassword"`
// Password used to secure certificate store, if it exists as a PKCS#12
PfxPassword string `json:"PfxPassword,omitempty"`
// A Boolean that sets whether to include the private key of the certificate in the certificate store if private keys are optional for the given certificate store (true) or not (false). The default is false.
IncludePrivateKey bool `json:"IncludePrivateKey,omitempty"`
// Entry Parameters map
JobParameters map[string]string `json:"JobFields,omitempty"`
}
CertificateStore contains configuration used by AddCertificateToStore and RemoveCertificateFromStore to configure the certificate stores that a certificate should be added to.
type CertificateStoreType ¶
type CertificateStoreType struct {
Name string `json:"Name"`
ShortName string `json:"ShortName"`
Capability string `json:"Capability,omitempty"`
StoreType int `json:"StoreType"`
ImportType int `json:"ImportType,omitempty"`
LocalStore bool `json:"LocalStore,omitempty"`
SupportedOperations *StoreTypeSupportedOperations `json:"SupportedOperations,omitempty"`
Properties *[]StoreTypePropertyDefinition `json:"Properties,omitempty"`
EntryParameters *[]EntryParameter `json:"EntryParameters,omitempty"`
PasswordOptions *StoreTypePasswordOptions `json:"PasswordOptions,omitempty"`
StorePathType string `json:"StorePathType,omitempty"`
StorePathValue string `json:"StorePathValue,omitempty"`
PrivateKeyAllowed string `json:"PrivateKeyAllowed,omitempty"`
JobProperties *[]string `json:"JobProperties,omitempty"`
ServerRequired bool `json:"ServerRequired,omitempty"`
PowerShell bool `json:"PowerShell,omitempty"`
BlueprintAllowed bool `json:"BlueprintAllowed,omitempty"`
CustomAliasAllowed string `json:"CustomAliasAllowed,omitempty"`
ServerRegistration int `json:"ServerRegistration,omitempty"`
InventoryEndpoint string `json:"InventoryEndpoint,omitempty"`
InventoryJobType string `json:"InventoryJobType,omitempty"`
ManagementJobType string `json:"ManagementJobType,omitempty"`
DiscoveryJobType string `json:"DiscoveryJobType,omitempty"`
EnrollmentJobType string `json:"EnrollmentJobType,omitempty"`
}
type CertificateStoreTypeGeneric ¶
type CertificateStoreTypeGeneric struct {
Name string `json:"Name"`
ShortName string `json:"ShortName"`
Capability string `json:"Capability"`
LocalStore bool `json:"LocalStore"`
SupportedOperations *StoreTypeSupportedOperations `json:"SupportedOperations"`
Properties *[]StoreTypePropertyDefinitionGeneric `json:"Properties"`
EntryParameters *[]EntryParameterGeneric `json:"EntryParameters"`
PasswordOptions *StoreTypePasswordOptions `json:"PasswordOptions"`
//StorePathType string `json:"StorePathType"` # This is not returned in the API and computed after POST
StorePathValue string `json:"StorePathValue"`
PrivateKeyAllowed string `json:"PrivateKeyAllowed"`
//JobProperties *[]string `json:"JobProperties"` # This is not returned in the API and computed after POST
ServerRequired bool `json:"ServerRequired"`
PowerShell bool `json:"PowerShell"`
BlueprintAllowed bool `json:"BlueprintAllowed"`
CustomAliasAllowed string `json:"CustomAliasAllowed"`
}
type CertificateSubject ¶
type CertificateSubject struct {
SubjectCommonName string
SubjectLocality string
SubjectOrganization string
SubjectCountry string
SubjectOrganizationalUnit string
SubjectState string
}
CertificateSubject contains string elements for X.509V3 certificate distinguished name (subject)
type Client ¶
type Client struct {
AuthClient AuthConfig
LoggerType string
}
func NewKeyfactorClient ¶
NewKeyfactorClient creates a new Keyfactor client instance. A configured Client is returned with methods used to interact with Keyfactor.
func (*Client) AddCertificateToStores ¶
func (c *Client) AddCertificateToStores(config *AddCertificateToStore) ([]string, error)
AddCertificateToStores takes argument for a AddCertificateToStore structure and is used to remove a configured certificate from one or more certificate stores.
func (*Client) ChangeCertificateOwnerRole ¶ added in v3.3.0
func (c *Client) ChangeCertificateOwnerRole( certificateId int, req *OwnerRequest, params ...*CertificateOwnerChangeParams, ) error
ChangeCertificateOwnerRole changes the certificate's owner. Users must be in the current owner's role and the new owner's role. If removing the owner, leave both NewRoleId and NewRoleName empty in the request. Calls PUT /Certificates/{id}/Owner endpoint.
func (*Client) CreateEnrollmentPattern ¶ added in v3.3.0
func (c *Client) CreateEnrollmentPattern( req *EnrollmentPatternCreateRequest, forceTemplateDefault ...bool, ) (*EnrollmentPatternResponse, error)
CreateEnrollmentPattern creates a new enrollment pattern with the provided properties
func (*Client) CreateSecurityIdentity ¶
func (c *Client) CreateSecurityIdentity(csia *CreateSecurityIdentityArg) (*CreateSecurityIdentityResponse, error)
CreateSecurityIdentity hits the /Security/Identities endpoint with a POST request to create a new Keyfactor security and returns a CreateSecurityIdentityResponse struct. The function takes argument for a CreateSecurityIdentityArg struct
func (*Client) CreateSecurityRole ¶
func (c *Client) CreateSecurityRole(input *CreateSecurityRoleArg) (*CreateSecurityRoleResponse, error)
CreateSecurityRole creates a new Keyfacor security role. This function takes argument for a CreateSecurityRoleArg struct and returns a CreateSecurityRoleResponse struct.
func (*Client) CreateStore ¶
func (c *Client) CreateStore(ca *CreateStoreFctArgs) (*CreateStoreResponse, error)
CreateStore takes arguments for CreateStoreFctArgs to facilitate the creation of all store types supported by a customer Keyfactor Command instance. Note that various certificate store types require different property arguments, and careful attention should be taken to ensure that all required elements are included. Required arguments for this method are:
- ClientMachine : string
- StorePath : string
- Properties : []StringTuple *Note - Method converts this array of StringTuples to a JSON string if provided
- AgentId : string
func (*Client) CreateStoreType ¶
func (c *Client) CreateStoreType(ca *CertificateStoreType) (*CertificateStoreType, error)
CreateStoreType takes arguments for CreateStoreFctArgs to facilitate the creation of all store types supported by a customer Keyfactor Command instance. Note that various certificate store types require different property arguments, and careful attention should be taken to ensure that all required elements are included. Required arguments for this method are:
- ClientMachine : string
- StorePath : string
- Properties : []StringTuple *Note - Method converts this array of StringTuples to a JSON string if provided
- AgentId : string
func (*Client) DeleteCertificateStore ¶
DeleteCertificateStore takes arguments for a certificate store ID to facilitate a call to Keyfactor that deletes a certificate store. Only the store ID is required.
func (*Client) DeleteCertificateStoreType ¶
func (c *Client) DeleteCertificateStoreType(id int) (*DeleteStoreType, error)
func (*Client) DeleteEnrollmentPattern ¶ added in v3.3.0
DeleteEnrollmentPattern deletes an enrollment pattern by ID Note: This method assumes DELETE is supported based on REST conventions, though it may not be explicitly defined in the provided schema
func (*Client) DeleteSecurityIdentity ¶
DeleteSecurityIdentity takes arguments for a security identity ID, and makes an associated call to Keyfactor to delete the identity.
func (*Client) DeleteSecurityRole ¶
DeleteSecurityRole takes arguments for a security role ID, and makes an associated call to Keyfactor to delete the role.
func (*Client) DeployPFXCertificate ¶
func (c *Client) DeployPFXCertificate(args *DeployPFXArgs) (*DeployPFXResp, error)
DeployPFXCertificate takes pointers to DeployPFXArgs structs holding configuration data required for the deployment of a newly enrolled PFX certificate. It returns a pointer to a DeployPFXResp struct if successful, and an error message if not. Required fields to deploy a certificate to a store maintained by Keyfactor are:
- StoreIds : []string
- Password : string
- CertificateId : int
- RequestId : int
func (*Client) DownloadCertificate ¶
func (c *Client) DownloadCertificate( certId int, thumbprint string, serialNumber string, issuerDn string, collectionId int, certificateFormat string, ) (*x509.Certificate, []*x509.Certificate, *string, error)
DownloadCertificate takes arguments for DownloadCertArgs to facilitate a call to Keyfactor that downloads a certificate from Keyfactor. The download certificate endpoint requires one of the following to retrieve a cert:
- CertID
- Thumbprint
- SerialNumber AND IssuerDN
Returns:
- Leaf certificate
- Certificate chain
- Raw certificate data (as base64 string, if applicable)
- Error
func (*Client) EnrollCSR ¶
func (c *Client) EnrollCSR(ea *EnrollCSRFctArgs) (*EnrollResponse, error)
EnrollCSR takes arguments for EnrollCSRFctArgs to enroll a passed Certificate Signing Request with Keyfactor. An EnrollResponse containing a signed certificate is returned upon successful enrollment. Required fields to complete a CSR enrollment are:
- CSR : string
- Template : string
- CertificateAuthority : string
func (*Client) EnrollPFX ¶
func (c *Client) EnrollPFX(ea *EnrollPFXFctArgs) (*EnrollResponse, error)
EnrollPFX takes arguments for EnrollPFXFctArgs to facilitate a call to Keyfactor that enrolls a PFX certificate with the supplied arguments.
func (*Client) EnrollPFXV2 ¶
func (c *Client) EnrollPFXV2(ea *EnrollPFXFctArgsV2) (*EnrollResponseV2, error)
func (*Client) GetAgentList ¶
GetAgentList returns a list of orchestrators registered in the Keyfactor instance
func (*Client) GetAllMetadataFields ¶
func (c *Client) GetAllMetadataFields() ([]MetadataField, error)
func (*Client) GetCAList ¶
GetCAList returns a list of certificate authorities supported by the Keyfactor instance
func (*Client) GetCertStoreInventory ¶
func (c *Client) GetCertStoreInventory(storeId string) (*[]CertStoreInventory, error)
func (*Client) GetCertificateContext ¶
func (c *Client) GetCertificateContext(gca *GetCertificateContextArgs) (*GetCertificateResponse, error)
GetCertificateContext takes arguments for GetCertificateContextArgs used to facilitate the retrieval of certificate context. The primary query required to get certificate context is the certificate ID. Include metadata and include locations add additional data, but can be set to false if they are unneeded. A pointer to a GetCertificateResponse structure is returned, containing the certificate context.
func (*Client) GetCertificateStoreByClientAndStorePath ¶
func (c *Client) GetCertificateStoreByClientAndStorePath( clientMachine string, storePath, containerID interface{}, ) (*[]GetCertificateStoreResponse, error)
func (*Client) GetCertificateStoreByContainerID ¶
func (c *Client) GetCertificateStoreByContainerID(containerID interface{}) (*[]GetCertificateStoreResponse, error)
GetCertificateStoreByID takes arguments for a certificate store ID to facilitate a call to Keyfactor that retrieves a certificate store context. Only the store ID is required. A pointer to a GetStoreByIDResp struct is returned that contains information on the certificate store.
func (*Client) GetCertificateStoreByID ¶
func (c *Client) GetCertificateStoreByID(storeId string) (*GetCertificateStoreResponse, error)
GetCertificateStoreByID takes arguments for a certificate store ID to facilitate a call to Keyfactor that retrieves a certificate store context. Only the store ID is required. A pointer to a GetStoreByIDResp struct is returned that contains information on the certificate store.
func (*Client) GetCertificateStoreType ¶
func (c *Client) GetCertificateStoreType(id interface{}) (*CertificateStoreType, error)
GetCertificateStoreType takes arguments for a certificate store type ID or name and if found will return the certificate store type
func (*Client) GetCertificateStoreTypeById ¶
func (c *Client) GetCertificateStoreTypeById(id int) (*CertificateStoreType, error)
GetCertificateStoreTypeById takes arguments for a certificate store type ID to facilitate a call to Keyfactor that retrieves certificate store context associated with a store type ID
func (*Client) GetCertificateStoreTypeByName ¶
func (c *Client) GetCertificateStoreTypeByName(name string) (*CertificateStoreType, error)
GetCertificateStoreTypeByName takes arguments for a certificate store type ID to facilitate a call to Keyfactor that retrieves certificate store context associated with a store type ID
func (*Client) GetEnrollmentPattern ¶ added in v3.3.0
func (c *Client) GetEnrollmentPattern(id int) (*EnrollmentPatternResponse, error)
GetEnrollmentPattern returns the enrollment pattern associated with the provided ID
func (*Client) GetEnrollmentPatterns ¶ added in v3.3.0
func (c *Client) GetEnrollmentPatterns(params ...*EnrollmentPatternsQueryParams) ([]EnrollmentPatternResponse, error)
GetEnrollmentPatterns returns all enrollment patterns according to the provided filter and output parameters
func (*Client) GetSecurityIdentities ¶
func (c *Client) GetSecurityIdentities() ([]GetSecurityIdentityResponse, error)
GetSecurityIdentities hits the /Security/Identities endpoint with a GET request and returns a list of GetSecurityIdentityResponse structs. The function takes no arguments.
func (*Client) GetSecurityRole ¶
func (c *Client) GetSecurityRole(id interface{}) (*GetSecurityRoleResponse, error)
func (*Client) GetSecurityRoles ¶
func (c *Client) GetSecurityRoles() ([]GetSecurityRolesResponse, error)
func (*Client) GetStoreContainer ¶
func (c *Client) GetStoreContainer(id interface{}) (*CertStoreContainer, error)
GetStoreContainer takes an ID and returns a single store container
func (*Client) GetStoreContainers ¶
func (c *Client) GetStoreContainers() (*[]CertStoreContainer, error)
GetStoreContainers returns a list of store containers
func (*Client) GetTemplate ¶
func (c *Client) GetTemplate(Id interface{}) (*GetTemplateResponse, error)
GetTemplate takes arguments for a template ID used to facilitate the retrieval of certificate template context. The primary query required to get certificate context is the template ID. A pointer to a GetTemplateResponse structure is returned, containing the template context.
func (*Client) GetTemplates ¶
func (c *Client) GetTemplates() ([]GetTemplateResponse, error)
GetTemplates asks Keyfactor for a complete list of known certificate templates. A list of GetTemplateResponse structures is returned, containing the template context.
func (*Client) ListCertificateStoreTypes ¶
func (c *Client) ListCertificateStoreTypes() (*[]CertificateStoreType, error)
ListCertificateStoreTypes takes no arguments and returns a list of certificate store types from Keyfactor.
func (*Client) ListCertificateStores ¶
func (c *Client) ListCertificateStores(params *map[string]interface{}) (*[]GetCertificateStoreResponse, error)
func (*Client) ListCertificates ¶
func (c *Client) ListCertificates(q map[string]string) ([]GetCertificateResponse, error)
func (*Client) ListDeniedCertificates ¶
func (c *Client) ListDeniedCertificates(q map[string]string) ([]WorkflowCertificate, error)
func (*Client) ListExternalValidationPendingCertificates ¶
func (c *Client) ListExternalValidationPendingCertificates(q map[string]string) ([]WorkflowCertificate, error)
func (*Client) ListPendingCertificates ¶
func (c *Client) ListPendingCertificates(q map[string]string) ([]WorkflowCertificate, error)
func (*Client) ListWorkflowCert ¶
func (c *Client) ListWorkflowCert(endpoint string) ([]WorkflowCertificate, error)
func (*Client) RecoverCertificate ¶
func (c *Client) RecoverCertificate( certId int, thumbprint string, serialNumber string, issuerDn string, password string, collectionId int, certificateFormat string, ) (interface{}, *x509.Certificate, []*x509.Certificate, *string, error)
RecoverCertificate takes arguments for RecoverCertArgs to facilitate a call to Keyfactor that recovers a certificate and associated private key (if retained) in the specified format. The download certificate endpoint requires one of the following to retrieve a cert:
- CertID
- Thumbprint
- SerialNumber AND IssuerDN
Additionally, the certificate Password is required. Returns:
- Private key (*rsa.PrivateKey or *ecdsa.PrivateKey)
- Leaf certificate (*x509.Certificate)
- Certificate chain ([]*x509.Certificate)
func (*Client) RemoveCertificateFromStores ¶
func (c *Client) RemoveCertificateFromStores(config *RemoveCertificateFromStore) ([]string, error)
RemoveCertificateFromStores takes argument for a RemoveCertificateFromStore structure, and is used to remove a certificate from one or more certificate stores.
func (*Client) RevokeCert ¶
func (c *Client) RevokeCert(rvargs *RevokeCertArgs) error
RevokeCert takes arguments for RevokeCertArgs to facilitate the revocation of all specified certificate IDs. It returns nil upon successful revocation, and an error if not. Required fields to revoke a list of certificates in Keyfactor are:
- CertificateIds : []int
- Comment : string
func (*Client) UpdateEnrollmentPattern ¶ added in v3.3.0
func (c *Client) UpdateEnrollmentPattern( id int, req *EnrollmentPatternRequest, forceTemplateDefault ...bool, ) (*EnrollmentPatternResponse, error)
UpdateEnrollmentPattern updates an enrollment pattern according to the provided properties and Keyfactor identifier
func (*Client) UpdateMetadata ¶
func (c *Client) UpdateMetadata(um *UpdateMetadataArgs) error
UpdateMetadata takes arguments for UpdateMetadataArgs to facilitate the updating of metadata fields in Keyfactor. It returns nil upon successful revocation, and an error if not. Required fields to update certificate metadata are:
- CertID : int
- CertificateMetadata : []CertificateMetadata OR Metadata : map[string]string
UpdateMetadata sets the metadata associated with a certificate EXACTLY. IE; if CertificateMetadata or Metadata are blank, any metadata associated with a certificate will be erased.
func (*Client) UpdateSecurityRole ¶
func (c *Client) UpdateSecurityRole(input *UpdateSecurityRoleArg) (*UpdateSecurityRoleResponse, error)
UpdateSecurityRole updates the Keyfacor security role. This function takes argument for a CreateSecurityRoleArg struct and returns a CreateSecurityRoleResponse struct.
func (*Client) UpdateStore ¶
func (c *Client) UpdateStore(ua *UpdateStoreFctArgs) (*UpdateStoreResponse, error)
UpdateStore takes arguments for UpdateStoreFctArgs to facilitate the adjustment of a certificate store associated with a Keyfactor Command instance. Note that various certificate store types require different property arguments, and careful attention should be taken to ensure that all required elements are included. Required arguments for this method are:
- ClientMachine : string
- StorePath : string
- Properties : []StringTuple *Note - Method converts this slice of StringTuples to a JSON string if provided
- AgentId : string
func (*Client) UpdateStoreType ¶
func (c *Client) UpdateStoreType(ca *CertificateStoreType) (*CertificateStoreType, error)
func (*Client) UpdateTemplate ¶
func (c *Client) UpdateTemplate(uta *UpdateTemplateArg) (*UpdateTemplateResponse, error)
UpdateTemplate takes arguments for a UpdateTemplateArg structure used to facilitate the modification of a certificate template. Required parameters for this function are elements of UpdateTemplateArg that can't be set to nil. A pointer to a UpdateTemplateResponse structure is returned, containing the template context.
type CreateSecurityIdentityArg ¶
type CreateSecurityIdentityArg struct {
AccountName string `json:"AccountName,omitempty"`
}
CreateSecurityIdentityArg holds the request body required to create a new security identity
type CreateSecurityIdentityResponse ¶
type CreateSecurityIdentityResponse struct {
Id int `json:"Id,omitempty"`
AccountName string `json:"AccountName,omitempty"`
IdentityType string `json:"IdentityType,omitempty"`
Roles []SecurityRoleInformation `json:"Roles,omitempty"`
Valid bool `json:"Valid,omitempty"`
}
CreateSecurityIdentityResponse is returned by the POST call to /Security/Identities
type CreateSecurityRoleArg ¶
type CreateSecurityRoleArg struct {
Name string `json:"Name,omitempty"`
Description string `json:"Description,omitempty"`
Enabled *bool `json:"Enabled,omitempty"`
Private *bool `json:"Private,omitempty"`
Permissions *[]string `json:"Permissions,omitempty"` // List of permissions in ["key:value"] format
Identities *[]SecurityRoleIdentityConfig `json:"Identities,omitempty"`
}
CreateSecurityRoleArg holds the function arguments required for CreateSecurityRole
type CreateSecurityRoleResponse ¶
type CreateSecurityRoleResponse struct {
Id int `json:"Id,omitempty"`
Name string `json:"Name,omitempty"`
Description string `json:"Description,omitempty"`
Enabled *bool `json:"Enabled,omitempty"`
Immutable bool `json:"Immutable,omitempty"`
Private *bool `json:"Private,omitempty"`
Permissions *[]string `json:"Permissions,omitempty"` // List of permissions in ["key:value"] format
Identities *[]SecurityRoleIdentityConfig `json:"Identities,omitempty"`
}
CreateSecurityRoleResponse holds response elements returned by
type CreateStoreFctArgs ¶
type CreateStoreFctArgs struct {
ContainerId *int `json:"ContainerId,omitempty"`
ClientMachine string `json:"ClientMachine"`
StorePath string `json:"StorePath"`
CertStoreInventoryJobId *string `json:"CertStoreInventoryJobId,omitempty"`
CertStoreType int `json:"CertStoreType"`
Approved *bool `json:"Approved,omitempty"`
CreateIfMissing *bool `json:"CreateIfMissing,omitempty"`
// String JSON name-value pairs; this field is not recommended. Instead, please use Properties. This field is
// automatically populated by the CreateStore method. However, if configured, this field will be used.
PropertiesString string `json:"Properties,omitempty"`
// Mapped name-value pair field used to configure properties.
Properties map[string]interface{} `json:"-"`
AgentId string `json:"AgentId"`
AgentAssigned *bool `json:"AgentAssigned,omitempty"`
ContainerName *string `json:"ContainerName,omitempty"`
InventorySchedule *InventorySchedule `json:"InventorySchedule,omitempty"`
ReEnrollmentStatus *ReEnrollmnentConfig `json:"ReEnrollmentStatus,omitempty"`
SetNewPasswordAllowed *bool `json:"SetNewPasswordAllowed,omitempty"`
Password *StorePasswordConfig `json:"Password"`
}
CreateStoreFctArgs holds the function arguments used for calling the CreateStore method.
type CreateStoreResponse ¶
type CreateStoreResponse struct {
Id string `json:"Id"`
ContainerId int `json:"ContainerId"`
ClientMachine string `json:"ClientMachine"`
Storepath string `json:"Storepath"`
CertStoreInventoryJobId string `json:"CertStoreInventoryJobId"`
CertStoreType int `json:"CertStoreType"`
Approved bool `json:"Approved"`
CreateIfMissing bool `json:"CreateIfMissing"`
PropertiesString string `json:"Properties"`
Properties map[string]string `json:"-"`
AgentId string `json:"AgentId"`
AgentAssigned bool `json:"AgentAssigned"`
ContainerName string `json:"ContainerName"`
InventorySchedule InventorySchedule `json:"InventorySchedule"`
ReenrollmentStatus ReEnrollmnentConfig `json:"ReenrollmentStatus"`
SetNewPasswordAllowed bool `json:"SetNewPasswordAllowed"`
}
CreateStoreResponse contains the response elements returned from the CreateStore method.
type DeleteStoreType ¶
type DeleteStoreType struct {
ID int `json:"id"`
}
type DeployPFXArgs ¶
type DeployPFXArgs struct {
StoreIds []string `json:"StoreIds"`
Password string `json:"Password"`
StoreTypes []StoreTypes `json:"StoreTypes"`
CertificateId int `json:"CertificateId"`
RequestId int `json:"RequestId"`
JobTime *string `json:"JobTime,omitempty"`
}
DeployPFXArgs holds the function arguments used for calling the DeployPFXCertificate method.
type DeployPFXResp ¶
type DeployPFXResp struct {
SuccessfulStores []string `json:"SuccessfulStores"`
FailedStores []string `json:"FailedStores"`
}
DeployPFXResp holds response data from the DeployPFXCertificate method.
type DetailedKeyUsage ¶
type DetailedKeyUsage struct {
CrlSign bool `json:"CrlSign,omitempty"`
DataEncipherment bool `json:"DataEncipherment,omitempty"`
DecipherOnly bool `json:"DecipherOnly,omitempty"`
DigitalSignature bool `json:"DigitalSignature,omitempty"`
EncipherOnly bool `json:"EncipherOnly,omitempty"`
KeyAgreement bool `json:"KeyAgreement,omitempty"`
KeyCertSign bool `json:"KeyCertSign,omitempty"`
KeyEncipherment bool `json:"KeyEncipherment,omitempty"`
NonRepudiation bool `json:"NonRepudiation,omitempty"`
HexCode string `json:"HexCode,omitempty"`
}
DetailedKeyUsage contains key useage data returned by the GetCertificateContext method.
type EnrollCSRFctArgs ¶
type EnrollCSRFctArgs struct {
CSR string `json:"CSR"` //required
PrivateKey string `json:"PrivateKey,omitempty"`
RenewalCertificateId int `json:"RenewalCertificateId,omitempty"`
CertificateAuthority string `json:"CertificateAuthority,omitempty"`
IncludeChain bool `json:"IncludeChain"`
IncludeSubjectHeader bool `json:"IncludeSubjectHeader,omitempty"`
Timestamp string `json:"Timestamp"`
Template string `json:"Template,omitempty"`
EnrollmentPatternId int `json:"EnrollmentPatternId,omitempty"` // Requires Command 25.1.0+
CertFormat string `json:"-"`
SANs *SANs `json:"SANs,omitempty"`
Metadata map[string]interface{} `json:"Metadata,omitempty"`
AdditionalEnrollmentFields map[string]interface{} `json:"AdditionalEnrollmentFields,omitempty"`
OwnerRoleId int `json:"OwnerRoleId,omitempty"` // Requires Command 12.3.0+
OwnerRoleName string `json:"OwnerRoleName,omitempty"` // Requires Command 12.3.0+
}
EnrollCSRFctArgs holds the function arguments used for calling the EnrollCSR method.
type EnrollPFXFctArgs ¶
type EnrollPFXFctArgs struct {
CustomFriendlyName string `json:"CustomFriendlyName,omitempty"`
Password string `json:"Password"`
PopulateMissingValuesFromAD bool `json:"PopulateMissingValuesFromAD"`
// Configure the SubjectString field as the full string subject for the certificate. For example, if you don't have
// subject fields individually separated, and the subject is already in the format required by RFC5280, use the SubjectString field.
SubjectString string `json:"Subject"`
// If the certificate subject is not already in the format required by RFC5280, configure the subject fields using a CertificateSubject
// struct, and EnrollPFX will automatically compile this information into a proper subject.
Subject *CertificateSubject `json:"-"`
IncludeChain bool `json:"IncludeChain"`
RenewalCertificateId int `json:"RenewalCertificateId,omitempty"`
CertificateAuthority string `json:"CertificateAuthority"`
Timestamp string `json:"Timestamp"`
Template string `json:"Template"`
SANs *SANs `json:"SANs,omitempty"`
Metadata map[string]interface{} `json:"Metadata,omitempty"`
CertFormat string `json:"-"`
}
EnrollPFXFctArgs holds the function arguments used for calling the EnrollPFX method.
type EnrollPFXFctArgsV2 ¶
type EnrollPFXFctArgsV2 struct {
Stores []CertificateStore `json:"Stores,omitempty"`
CustomFriendlyName string `json:"CustomFriendlyName,omitempty"`
Password string `json:"Password,omitempty"`
PopulateMissingValuesFromAD bool `json:"PopulateMissingValuesFromAD"`
// If the certificate subject is not already in the format required by RFC5280, configure the subject fields using a CertificateSubject
// struct, and EnrollPFX will automatically compile this information into a proper subject.
Subject *CertificateSubject `json:"-"`
SubjectString string `json:"Subject,omitempty"`
IncludeChain bool `json:"IncludeChain"`
IncludeSubjectHeader bool `json:"IncludeSubjectHeader,omitempty"`
RenewalCertificateId int `json:"RenewalCertificateId,omitempty"`
CertificateAuthority string `json:"CertificateAuthority"`
Timestamp string `json:"Timestamp"`
Template string `json:"Template"`
SANs *SANs `json:"SANs,omitempty"`
Metadata map[string]interface{} `json:"Metadata,omitempty"`
AdditionalEnrollmentFields *map[string]interface{} `json:"AdditionalEnrollmentFields,omitempty"`
CertFormat string `json:"-"` // Needs to be passed as header X-Certificate-Format
InstallIntoExistingCertificateStores bool `json:"InstallIntoExistingCertificateStores,omitempty"`
ChainOrder string `json:"ChainOrder,omitempty"`
AlternativeKeyType string `json:"AlternativeKeyType,omitempty"` // Requires Command 25.0.0+
KeyType string `json:"KeyType,omitempty"`
AlternativeKeyLength int `json:"AlternativeKeyLength,omitempty"` // Requires Command 25.0.0+
KeyLength int `json:"KeyLength,omitempty"`
Curve string `json:"Curve,omitempty"`
EnrollmentPatternId int `json:"EnrollmentPatternId,omitempty"` // Requires Command 25.1.0+
OwnerRoleId int `json:"OwnerRoleId,omitempty"` // Requires Command 12.3.0+
OwnerRoleName string `json:"OwnerRoleName,omitempty"` // Requires Command 12.3.0+
}
type EnrollResponse ¶
type EnrollResponse struct {
Certificates []string
CertificateInformation CertificateInformation `json:"CertificateInformation"`
}
EnrollResponse is the outer certificate enrollment response. When Enroll functions are called, the certificates are placed inside the Certificates element, and certificate information is placed inside CertificateInformation
type EnrollResponseV2 ¶
type EnrollResponseV2 struct {
SuccessfulStores []string `json:"SuccessfulStores"`
CertificateInformation CertificateInformation `json:"CertificateInformation"`
Metadata interface{} `json:"Metadata,omitempty"`
}
type EnrollmentPatternAssociatedRoleResponse ¶ added in v3.3.0
type EnrollmentPatternAssociatedRoleResponse struct {
Id int `json:"Id,omitempty"`
Name string `json:"Name,omitempty"`
}
EnrollmentPatternAssociatedRoleResponse represents associated role information in responses
type EnrollmentPatternCAResponse ¶ added in v3.3.0
type EnrollmentPatternCAResponse struct {
Id int `json:"Id,omitempty"`
LogicalName string `json:"LogicalName,omitempty"`
HostName string `json:"HostName,omitempty"`
ConfigurationTenant string `json:"ConfigurationTenant,omitempty"`
}
EnrollmentPatternCAResponse represents certificate authority information in responses
type EnrollmentPatternCreateRequest ¶ added in v3.3.0
type EnrollmentPatternCreateRequest struct {
Template int `json:"Template"`
Name string `json:"Name"`
Description *string `json:"Description,omitempty"`
TemplateDefault bool `json:"TemplateDefault,omitempty"`
AssociatedRoles []string `json:"AssociatedRoles,omitempty"`
UseADPermissions bool `json:"UseADPermissions,omitempty"`
CertificateAuthorities []int `json:"CertificateAuthorities,omitempty"`
AllowedEnrollmentTypes int `json:"AllowedEnrollmentTypes,omitempty"`
Regexes []EnrollmentPatternRegexesRequest `json:"Regexes,omitempty"`
MetadataFields []EnrollmentPatternMetadataFieldRequest `json:"MetadataFields,omitempty"`
RestrictCAs bool `json:"RestrictCAs,omitempty"`
Policies EnrollmentPatternPolicyRequest `json:"Policies"`
Defaults []EnrollmentPatternDefaultRequest `json:"Defaults,omitempty"`
EnrollmentFields []EnrollmentPatternFieldRequest `json:"EnrollmentFields,omitempty"`
}
EnrollmentPatternCreateRequest represents the request structure for creating a new enrollment pattern
type EnrollmentPatternDefaultRequest ¶ added in v3.3.0
type EnrollmentPatternDefaultRequest struct {
SubjectPart string `json:"SubjectPart"`
DefaultValue string `json:"DefaultValue,omitempty"`
}
EnrollmentPatternDefaultRequest represents default value settings for requests
type EnrollmentPatternDefaultResponse ¶ added in v3.3.0
type EnrollmentPatternDefaultResponse struct {
SubjectPart string `json:"SubjectPart,omitempty"`
Value string `json:"Value,omitempty"`
}
EnrollmentPatternDefaultResponse represents default value settings in responses
type EnrollmentPatternFieldRequest ¶ added in v3.3.0
type EnrollmentPatternFieldRequest struct {
Id int `json:"Id,omitempty"`
DefaultValue string `json:"DefaultValue,omitempty"`
Validation string `json:"Validation,omitempty"`
Enrollment int `json:"Enrollment,omitempty"`
Message string `json:"Message,omitempty"`
Options string `json:"Options,omitempty"`
DependsOn string `json:"DependsOn,omitempty"`
DependsOnValue string `json:"DependsOnValue,omitempty"`
}
EnrollmentPatternFieldRequest represents enrollment field configuration for requests
type EnrollmentPatternFieldResponse ¶ added in v3.3.0
type EnrollmentPatternFieldResponse struct {
Id int `json:"Id,omitempty"`
Name string `json:"Name,omitempty"`
DefaultValue string `json:"DefaultValue,omitempty"`
Validation string `json:"Validation,omitempty"`
Enrollment int `json:"Enrollment,omitempty"`
Message string `json:"Message,omitempty"`
Options []string `json:"Options,omitempty"`
DependsOn string `json:"DependsOn,omitempty"`
DependsOnValue string `json:"DependsOnValue,omitempty"`
DataType int `json:"DataType,omitempty"`
Hint string `json:"Hint,omitempty"`
}
EnrollmentPatternFieldResponse represents enrollment field configuration in responses
type EnrollmentPatternMetadataFieldRequest ¶ added in v3.3.0
type EnrollmentPatternMetadataFieldRequest struct {
Id int `json:"Id,omitempty"`
DefaultValue string `json:"DefaultValue,omitempty"`
Validation string `json:"Validation,omitempty"`
Enrollment int `json:"Enrollment,omitempty"`
Message string `json:"Message,omitempty"`
Options string `json:"Options,omitempty"`
DependsOn string `json:"DependsOn,omitempty"`
DependsOnValue string `json:"DependsOnValue,omitempty"`
}
EnrollmentPatternMetadataFieldRequest represents metadata field configuration for requests
type EnrollmentPatternMetadataFieldResponse ¶ added in v3.3.0
type EnrollmentPatternMetadataFieldResponse struct {
MetadataId int `json:"MetadataId,omitempty"`
DefaultValue string `json:"DefaultValue,omitempty"`
Validation string `json:"Validation,omitempty"`
Enrollment int `json:"Enrollment,omitempty"`
Message string `json:"Message,omitempty"`
CaseSensitive bool `json:"CaseSensitive,omitempty"`
}
EnrollmentPatternMetadataFieldResponse represents metadata field configuration in responses
type EnrollmentPatternPolicyRequest ¶ added in v3.3.0
type EnrollmentPatternPolicyRequest struct {
AllowKeyReuse *bool `json:"AllowKeyReuse,omitempty"`
AllowWildcards *bool `json:"AllowWildcards,omitempty"`
RFCEnforcement *bool `json:"RFCEnforcement,omitempty"`
CertificateOwnerRole *int `json:"CertificateOwnerRole,omitempty"`
DefaultCertificateOwnerRoleId *int `json:"DefaultCertificateOwnerRoleId,omitempty"`
DefaultCertificateOwnerRoleName *string `json:"DefaultCertificateOwnerRoleName,omitempty"`
DefaultCertificateOwnerOverride bool `json:"DefaultCertificateOwnerOverride,omitempty"`
PrimaryKeyAlgorithms []AlgorithmDataRequestV2 `json:"PrimaryKeyAlgorithms,omitempty"`
AlternativeKeyAlgorithms []AlgorithmDataRequestV2 `json:"AlternativeKeyAlgorithms,omitempty"`
}
EnrollmentPatternPolicyRequest represents policy settings for enrollment patterns
type EnrollmentPatternPolicyResponse ¶ added in v3.3.0
type EnrollmentPatternPolicyResponse struct {
AllowKeyReuse bool `json:"AllowKeyReuse,omitempty"`
AllowWildcards bool `json:"AllowWildcards,omitempty"`
RFCEnforcement bool `json:"RFCEnforcement,omitempty"`
CertificateOwnerRole int `json:"CertificateOwnerRole,omitempty"`
DefaultCertificateOwnerRoleId int `json:"DefaultCertificateOwnerRoleId,omitempty"`
DefaultCertificateOwnerRoleName string `json:"DefaultCertificateOwnerRoleName,omitempty"`
DefaultCertificateOwnerOverride bool `json:"DefaultCertificateOwnerOverride,omitempty"`
PrimaryKeyAlgorithms []AlgorithmDataResponse `json:"PrimaryKeyAlgorithms,omitempty"`
AlternativeKeyAlgorithms []AlgorithmDataResponse `json:"AlternativeKeyAlgorithms,omitempty"`
}
EnrollmentPatternPolicyResponse represents policy settings in responses
type EnrollmentPatternRegexesRequest ¶ added in v3.3.0
type EnrollmentPatternRegexesRequest struct {
SubjectPart string `json:"SubjectPart"`
Regex string `json:"Regex,omitempty"`
Error string `json:"Error,omitempty"`
CaseSensitive bool `json:"CaseSensitive,omitempty"`
}
EnrollmentPatternRegexesRequest represents regex validation rules for enrollment patterns
type EnrollmentPatternRegexesResponse ¶ added in v3.3.0
type EnrollmentPatternRegexesResponse struct {
SubjectPart string `json:"SubjectPart,omitempty"`
Regex string `json:"Regex,omitempty"`
Error string `json:"Error,omitempty"`
CaseSensitive bool `json:"CaseSensitive,omitempty"`
}
EnrollmentPatternRegexesResponse represents regex validation rules in responses
type EnrollmentPatternRequest ¶ added in v3.3.0
type EnrollmentPatternRequest struct {
Name string `json:"Name"`
Description string `json:"Description,omitempty"`
TemplateDefault bool `json:"TemplateDefault,omitempty"`
AssociatedRoles []string `json:"AssociatedRoles,omitempty"`
UseADPermissions bool `json:"UseADPermissions,omitempty"`
CertificateAuthorities []int `json:"CertificateAuthorities,omitempty"`
AllowedEnrollmentTypes int `json:"AllowedEnrollmentTypes,omitempty"`
Regexes []EnrollmentPatternRegexesRequest `json:"Regexes,omitempty"`
MetadataFields []EnrollmentPatternMetadataFieldRequest `json:"MetadataFields,omitempty"`
RestrictCAs bool `json:"RestrictCAs,omitempty"`
Policies EnrollmentPatternPolicyRequest `json:"Policies"`
Defaults []EnrollmentPatternDefaultRequest `json:"Defaults,omitempty"`
EnrollmentFields []EnrollmentPatternFieldRequest `json:"EnrollmentFields,omitempty"`
}
EnrollmentPatternRequest represents the request structure for updating an enrollment pattern
type EnrollmentPatternResponse ¶ added in v3.3.0
type EnrollmentPatternResponse struct {
ID int `json:"Id,omitempty"`
Name string `json:"Name,omitempty"`
Description string `json:"Description,omitempty"`
Template *EnrollmentPatternTemplateResponse `json:"Template,omitempty"`
TemplateDefault bool `json:"TemplateDefault,omitempty"`
UseADPermissions bool `json:"UseADPermissions,omitempty"`
AssociatedRoles []EnrollmentPatternAssociatedRoleResponse `json:"AssociatedRoles,omitempty"`
CertificateAuthorities []EnrollmentPatternCAResponse `json:"CertificateAuthorities,omitempty"`
AllowedEnrollmentTypes *int `json:"AllowedEnrollmentTypes,omitempty"`
Regexes []EnrollmentPatternRegexesResponse `json:"Regexes,omitempty"`
MetadataFields []EnrollmentPatternMetadataFieldResponse `json:"MetadataFields,omitempty"`
RestrictCAs bool `json:"RestrictCAs,omitempty"`
Policies *EnrollmentPatternPolicyResponse `json:"Policies,omitempty"`
Defaults []EnrollmentPatternDefaultResponse `json:"Defaults,omitempty"`
EnrollmentFields []EnrollmentPatternFieldResponse `json:"EnrollmentFields,omitempty"`
}
EnrollmentPatternResponse represents the response structure for enrollment pattern operations
type EnrollmentPatternTemplateResponse ¶ added in v3.3.0
type EnrollmentPatternTemplateResponse struct {
Id int `json:"Id,omitempty"`
TemplateName string `json:"TemplateName,omitempty"`
CommonName string `json:"CommonName,omitempty"`
ConfigurationTenant string `json:"ConfigurationTenant,omitempty"`
RequiresApproval bool `json:"RequiresApproval,omitempty"`
FriendlyName string `json:"FriendlyName,omitempty"`
}
EnrollmentPatternTemplateResponse represents template information in responses
type EnrollmentPatternsQueryParams ¶ added in v3.3.0
type EnrollmentPatternsQueryParams struct {
QueryString string `json:"queryString,omitempty"`
PageReturned int `json:"pageReturned,omitempty"`
ReturnLimit int `json:"returnLimit,omitempty"`
SortField string `json:"sortField,omitempty"`
SortAscending *int `json:"sortAscending,omitempty"` // 0=ascending, 1=descending
}
EnrollmentPatternsQueryParams represents query parameters for listing enrollment patterns
type EntryParameter ¶
type EntryParameter struct {
StoreTypeId int `json:"StoreTypeId"`
Name string `json:"Name"`
DisplayName string `json:"DisplayName"`
Type string `json:"Type"`
RequiredWhen struct {
HasPrivateKey bool `json:"HasPrivateKey"`
OnAdd bool `json:"OnAdd"`
OnRemove bool `json:"OnRemove"`
OnReenrollment bool `json:"OnReenrollment"`
}
DependsOn string `json:"DependsOn"`
DefaultValue string `json:"DefaultValue"`
Options string `json:"Options"`
}
type EntryParameterGeneric ¶
type EntryParameterGeneric struct {
Name string `json:"Name"`
DisplayName string `json:"DisplayName"`
Type string `json:"Type"`
RequiredWhen struct {
HasPrivateKey bool `json:"HasPrivateKey"`
OnAdd bool `json:"OnAdd"`
OnRemove bool `json:"OnRemove"`
OnReenrollment bool `json:"OnReenrollment"`
}
DependsOn string `json:"DependsOn"`
DefaultValue string `json:"DefaultValue"`
Options string `json:"Options"`
}
type EntryPassword ¶
type EntryPassword struct {
// A string containing the password. This value only needs to be supplied if you're storing your password in the Keyfactor Command database.
SecretValue string `json:"SecretValue,omitempty"`
// The parameters required by your PAM provider, containing the information that identifies the location of the password in the PAM solution.
Parameters struct{} `json:"Parameters,omitempty"`
// An integer that identifies the PAM provider used to store the password.
Provider int `json:"Provider,omitempty"`
}
type GetCertStoreInventoryResp ¶
type GetCertStoreInventoryResp struct {
Inventory []CertStoreInventory
}
type GetCertificateContextArgs ¶
type GetCertificateContextArgs struct {
IncludeMetadata *bool `json:"IncludeMetadata,omitempty"` // Query
IncludeLocations *bool `json:"IncludeLocations,omitempty"` // Query
CollectionId *int `json:"CollectionId,omitempty"` // Query
Thumbprint string `json:"Thumbprint,omitempty"` // Query
CommonName string `json:"CommonName,omitempty"` // Query
Id int `json:"Id"` // Query
IncludeHasPrivateKey *bool `json:"IncludeHasPrivateKey,omitempty"` // Query
RequestId int `json:"RequestId,omitempty"` // Query
}
GetCertificateContextArgs holds the function arguments used for calling the GetCertificateContext method.
type GetCertificateResponse ¶
type GetCertificateResponse struct {
Id int `json:"Id"`
Thumbprint string `json:"Thumbprint"`
SerialNumber string `json:"SerialNumber"`
IssuedDN string `json:"IssuedDN"`
IssuedCN string `json:"IssuedCN"`
ImportDate string `json:"ImportDate"`
NotBefore string `json:"NotBefore"`
NotAfter string `json:"NotAfter"`
IssuerDN string `json:"IssuerDN"`
PrincipalId string `json:"PrincipalId"`
OwnerRoleId int `json:"OwnerRoleId;omitempty"` // Requires Command 12.3.0+
OwnerRoleName string `json:"OwnerRoleName,omitempty"` // Requires Command 12.3.0+
TemplateId int `json:"TemplateId"`
CertState int `json:"CertState"`
KeySizeInBits int `json:"KeySizeInBits"`
KeyType int `json:"KeyType"`
KeyAlgorithm string `json:"KeyAlgorithm"`
AltKeyAlgorithm string `json:"AltKeyAlgorithm,omitempty"` // Requires Command 25.0.0+
AltKeySizeInBits int `json:"AltKeySizeInBits,omitempty"` // Requires Command 25.0.0+
AltKeyType int `json:"AltKeyType,omitempty"` // Requires Command 25.0.0+
RequesterId int `json:"RequesterId"`
IssuedOU string `json:"IssuedOU"`
IssuedEmail string `json:"IssuedEmail"`
KeyUsage int `json:"KeyUsage"`
SigningAlgorithm string `json:"SigningAlgorithm"`
AltSigningAlgorithm string `json:"AltSigningAlgorithm,omitempty"` // Requires Command 25.0.0+
CertStateString string `json:"CertStateString"`
KeyTypeString string `json:"KeyTypeString"`
AltKeyTypeString string `json:"AltKeyTypeString,omitempty"` // Requires Command 25.0.0+
RevocationEffDate string `json:"RevocationEffDate"`
RevocationReason int `json:"RevocationReason"`
RevocationComment string `json:"RevocationComment"`
CertificateAuthorityId int `json:"CertificateAuthorityId"`
CertificateAuthorityName string `json:"CertificateAuthorityName"`
TemplateName string `json:"TemplateName"`
ArchivedKey bool `json:"ArchivedKey"`
HasPrivateKey bool `json:"HasPrivateKey"`
HasAltPrivateKey bool `json:"HasAltPrivateKey,omitempty"` // Requires Command 25.0.0+
PrincipalName string `json:"PrincipalName"`
CertRequestId int `json:"CertRequestId"`
RequesterName string `json:"RequesterName"`
ContentBytes string `json:"ContentBytes"`
ExtendedKeyUsages []interface{}
SubjectAltNameElements []SubjectAltNameElements `json:"SubjectAltNameElements"`
CRLDistributionPoints []CRLDistributionPoints `json:"CRLDistributionPoints"`
LocationsCount []LocationsCount `json:"LocationsCount"`
SSLLocations []SSLLocations `json:"SSLLocations"`
Locations []CertificateLocations `json:"Locations"`
Metadata interface{} `json:"Metadata"`
CertificateKeyId int `json:"CertificateKeyId"`
CARowIndex int `json:"CARowIndex"`
CARecordId string `json:"CARecordId"`
DetailedKeyUsage []DetailedKeyUsage `json:"detailed_key_usage"`
KeyRecoverable bool `json:"KeyRecoverable"`
Curve string `json:"Curve,omitempty"`
EnrollmentPatternId int `json:"EnrollmentPatternId,omitempty"` // Requires Command 25.1.0+
}
GetCertificateResponse contains the response elements returned from the GetCertificateContext method.
type GetCertificateStoreResponse ¶
type GetCertificateStoreResponse struct {
Id string `json:"Id,omitempty"`
ContainerId int `json:"ContainerId,omitempty"`
ClientMachine string `json:"ClientMachine,omitempty"`
StorePath string `json:"Storepath,omitempty"`
CertStoreInventoryJobId string `json:"CertStoreInventoryJobId,omitempty"`
CertStoreType int `json:"CertStoreType,omitempty"`
Approved bool `json:"Approved,omitempty"`
CreateIfMissing bool `json:"CreateIfMissing,omitempty"`
PropertiesString string `json:"Properties,omitempty"`
Properties map[string]interface{} `json:"-"`
AgentId string `json:"AgentId,omitempty"`
AgentAssigned bool `json:"AgentAssigned,omitempty"`
ContainerName string `json:"ContainerName,omitempty"`
InventorySchedule InventorySchedule `json:"InventorySchedule"`
ReenrollmentStatus ReEnrollmnentConfig `json:"ReenrollmentStatus,omitempty"`
SetNewPasswordAllowed bool `json:"SetNewPasswordAllowed,omitempty"`
Password StorePasswordConfig `json:"Password,omitempty"`
DisplayName string `json:"DisplayName,omitempty"`
}
type GetSecurityIdentityResponse ¶
type GetSecurityIdentityResponse struct {
Id int `json:"Id,omitempty"`
AccountName string `json:"AccountName,omitempty"`
IdentityType string `json:"IdentityType,omitempty"`
Roles []SecurityRoleInformation `json:"Roles,omitempty"`
Valid bool `json:"Valid,omitempty"`
}
GetSecurityIdentityResponse holds the response data returned by /Security/Identities
type GetSecurityRoleResponse ¶
type GetSecurityRoleResponse struct {
Id float64 `json:"Id,omitempty"`
Name string `json:"Name,omitempty"`
Description string `json:"Description,omitempty"`
Identities []SecurityIdentity `json:"Identities,omitempty"`
Permissions []string `json:"Permissions,omitempty"`
}
type GetSecurityRolesResponse ¶
type GetSecurityRolesResponse struct {
ID float64 `json:"Id"`
Description string `json:"Description,omitempty"`
Enabled bool `json:"Enabled"`
Immutable bool `json:"Immutable"`
Valid bool `json:"Valid"`
Private bool `json:"Private"`
Identities []SecurityIdentity `json:"Identities"`
Name string `json:"Name,omitempty"`
Permissions []string `json:"Permissions"`
}
GetSecurityRolesResponse holds the response data returned by /Security/Roles
type GetTemplateResponse ¶
type GetTemplateResponse struct {
Id int `json:"Id,omitempty"`
CommonName string `json:"CommonName,omitempty"`
TemplateName string `json:"TemplateName,omitempty"`
Oid string `json:"Oid,omitempty"`
KeySize string `json:"KeySize,omitempty"`
KeyType string `json:"KeyType,omitempty"`
ForestRoot string `json:"ForestRoot,omitempty"`
FriendlyName string `json:"FriendlyName,omitempty"`
KeyRetention string `json:"KeyRetention,omitempty"`
KeyRetentionDays int `json:"KeyRetentionDays,omitempty"`
KeyArchival bool `json:"KeyArchival,omitempty"`
EnrollmentFields []TemplateEnrollmentFields `json:"EnrollmentFields,omitempty"`
MetadataFields []TemplateMetadataFields `json:"MetadataFields,omitempty"`
AllowedEnrollmentTypes int `json:"AllowedEnrollmentTypes,omitempty"`
TemplateRegexes []TemplateRegex `json:"TemplateRegexes,omitempty"`
UseAllowedRequesters bool `json:"UseAllowedRequesters,omitempty"`
AllowedRequesters []string `json:"AllowedRequesters,omitempty"`
RFCEnforcement bool `json:"RFCEnforcement,omitempty"`
RequiresApproval bool `json:"RequiresApproval,omitempty"`
KeyUsage int `json:"KeyUsage,omitempty"`
}
type InventoriedCertificate ¶
type InventoriedCertificate struct {
Id int `json:"Id"`
IssuedDN string `json:"IssuedDN"`
SerialNumber string `json:"SerialNumber"`
NotBefore string `json:"NotBefore"`
NotAfter string `json:"NotAfter"`
SigningAlgorithm string `json:"SigningAlgorithm"`
IssuerDN string `json:"IssuerDN"`
Thumbprint string `json:"Thumbprint"`
CertStoreInventoryItemId int `json:"CertStoreInventoryItemId"`
Metadata map[string]interface{} `json:"Metadata"`
}
type InventoryDaily ¶
type InventoryDaily struct {
Time string `json:"Time"`
}
InventoryDaily specifies that the inventory should happen at a given time in the day, daily
type InventoryInterval ¶
type InventoryInterval struct {
Minutes int `json:"Minutes"`
}
InventoryInterval specifies that the inventory should happen at a given interval in minutes
type InventoryOnce ¶
type InventoryOnce struct {
Time string `json:"Time"`
}
InventoryOnce specifies that the inventory should happen once, at a given time
type InventorySchedule ¶
type InventorySchedule struct {
Immediate *bool `json:"Immediate,omitempty"`
Interval *InventoryInterval `json:"Interval,omitempty"`
Daily *InventoryDaily `json:"Daily,omitempty"`
ExactlyOnce *InventoryOnce `json:"ExactlyOnce,omitempty"`
}
InventorySchedule holds configuration data for creating an inventory schedule for a certificate store in Keyfactor
type ListCertificateResponse ¶
type ListCertificateResponse struct {
Certificates []GetCertificateResponse `json:"Certificates"`
}
type ListCertificateStoresResponse ¶
type ListCertificateStoresResponse struct {
// An array of certificate store objects.
CertificateStores []CertificateStore `json:"CertificateStores"`
}
type LocationsCount ¶
type LocationsCount struct {
Type string `json:"Type,omitempty"`
Count int `json:"Count,omitempty"`
}
LocationsCount contains details on what kind of and how many stores the certificate is deployed inside.
type MetadataField ¶
type MetadataField struct {
Id int `json:"Id"`
Name string `json:"Name"`
Description string `json:"Description"`
DataType int `json:"DataType"`
Hint string `json:"Hint"`
Validation string `json:"Validation"`
Enrollment int `json:"Enrollment"`
Message string `json:"Message"`
Options string `json:"Options"`
DefaultValue string `json:"DefaultValue"`
DisplayOrder int `json:"DisplayOrder"`
}
type OwnerRequest ¶ added in v3.3.0
type OwnerRequest struct {
NewRoleId *int `json:"NewRoleId,omitempty"`
NewRoleName *string `json:"NewRoleName,omitempty"`
}
OwnerRequest represents the request structure for changing certificate ownership
type PropertyDefinition ¶
type PropertyDefinition struct {
StoreTypeID int `json:"StoreTypeID"`
Name string `json:"Name"`
DisplayName string `json:"DisplayName"`
Type string `json:"Type"`
DependsOn string `json:"DependsOn"`
DefaultValue string `json:"DefaultValue"`
Required bool `json:"Required"`
}
PropertyDefinition defines property fields associated with a certificate store type, and is returned by the GetCertificateStoreType method
type ProviderTypeParam ¶ added in v3.2.0
type ProviderTypeParameterValue ¶ added in v3.2.0
type ProviderTypeParameterValue struct {
Id int `json:"Id"`
Value *string `json:"Value"`
ParameterId int `json:"ParameterId"` // defaults always to 0, likely deprecated
InstanceId *string `json:"InstanceId"` // defaults null, likely deprecated
InstanceGuid *string `json:"InstanceGuid"`
Provider *string `json:"Provider"` // defaults null, likely deprecated
ProviderTypeParam ProviderTypeParam `json:"ProviderTypeParam"`
}
type ReEnrollmnentConfig ¶
type ReEnrollmnentConfig struct {
Data bool `json:"Data"`
AgentId string `json:"AgentId"`
Message string `json:"Message"`
JobProperties string `json:"JobProperties"`
CustomAliasAllowed int `json:"CustomAliasAllowed"`
}
ReEnrollmnentConfig configures the re-enrollment job for a created certificate.
type RemoveCertificateFromStore ¶
type RemoveCertificateFromStore struct {
// An integer containing the Keyfactor Command reference ID of the certificate to be removed to the certificate store(s).
CertificateId int `json:"CertificateId"`
Alias string `json:"Alias"`
// An array of certificate store GUIDs to identify the certificate stores to which the certificate should be removed
// and provide appropriate reference information for the certificate in the store.
CertificateStores *[]CertificateStore `json:"CertificateStores,omitempty"`
// The inventory schedule for the remove job
InventorySchedule *InventorySchedule `json:"Schedule,omitempty"`
// An integer containing the Keyfactor Command reference ID of the certificate to be removed to the certificate store(s).
CollectionId int `json:"CollectionId,omitempty"`
}
RemoveCertificateFromStore contains configuration data required to remove a certificate associated with a specific alias from one or more certificate stores.
type RevokeCertArgs ¶
type RevokeCertArgs struct {
CertificateIds []int `json:"CertificateIds"`
Reason int `json:"Reason"`
Comment string `json:"Comment"`
EffectiveDate string `json:"EffectiveDate"`
CollectionId int `json:"CollectionId,omitempty"`
}
RevokeCertArgs holds the function arguments used for calling the RevokeCert method.
type SANs ¶
type SANs struct {
IP4 []string `json:"ip4,omitempty"`
IP6 []string `json:"ip6,omitempty"`
DNS []string `json:"dns,omitempty"`
URI []string `json:"uri,omitempty"`
}
SANs holds arrays of strings associated with IPv4 (IP4), IPv6 (IP6), DNS, and URI SANs.
type SSLLocations ¶
type SSLLocations struct {
StorePath string `json:"StorePath,omitempty"`
AgentPool string `json:"AgentPool,omitempty"`
IPAddress string `json:"IPAddress,omitempty"`
Port int `json:"Port,omitempty"`
NetworkName string `json:"NetworkName,omitempty"`
}
SSLLocations contains detailed information on the locations that the certificate was found in a scan.
type SecretParamValue ¶
type SecretParamValue struct {
SecretValue string `json:"SecretValue"`
}
type SecurityIdentity ¶
type SecurityIdentity struct {
Id float64 `json:"Id"`
AccountName string `json:"AccountName"`
IdentityType string `json:"IdentityType"`
Sid string `json:"SID"`
}
SecurityIdentity contains the contains required elements to attach an identity to a role
type SecurityRoleIdentityConfig ¶
SecurityRoleIdentityConfig holds configuration data defining which security identities are attached to a given security role.
type SecurityRoleInformation ¶
type SecurityRoleInformation struct {
Id int `json:"Id,omitempty"`
Name string `json:"Name,omitempty"`
Description string `json:"Description,omitempty"`
}
SecurityRoleInformation holds security role information associated with an identity
type SecurityRolePermission ¶
type SecurityRolePermission struct {
AgentAutoRegistration *string `json:"AgentAutoRegistration,omitempty"`
AgentManagement *string `json:"agent_management,omitempty"`
API *string `json:"api,omitempty"`
Auditing *string `json:"auditing,omitempty"`
CertificateCollections *string `json:"certificate_collections,omitempty"`
CertificateEnrollment *string `json:"certificate_enrollment,omitempty"`
CertificateMetadataTypes *string `json:"certificate_metadata_types,omitempty"`
CertificateStoreManagement *string `json:"certificate_store_management,omitempty"`
Certificates *string `json:"certificates,omitempty"`
Dashboard *string `json:"dashboard,omitempty"`
MacAutoEnrollManagement *string `json:"mac_auto_enroll_management,omitempty"`
AdminPortal *string `json:"admin_portal,omitempty"`
Monitoring *string `json:"monitoring,omitempty"`
PkiManagement *string `json:"pki_management,omitempty"`
Reports *string `json:"reports,omitempty"`
SecuritySettings *string `json:"security_settings,omitempty"`
SSH *string `json:"ssh,omitempty"`
SslManagement *string `json:"ssl_management,omitempty"`
SystemSettings *string `json:"system_settings,omitempty"`
WorkflowManagement *string `json:"workflow_management,omitempty"`
}
SecurityRolePermission holds the permission configuration to create or update a Keyefactor security role. See API documentation for specifics on how to configure these fields.
type SpecialPropertiesSecretValue ¶
type SpecialPropertiesSecretValue struct {
Value SecretParamValue `json:"value"`
}
type SpecialPropertiesValue ¶
type SpecialPropertiesValue struct {
Value interface{} `json:"value"`
}
type StorePasswordConfig ¶
type StorePasswordConfig struct {
Value *string `json:"SecretValue"`
SecretTypeGuid *string `json:"SecretTypeGuid,omitempty"`
InstanceId *string `json:"InstanceId,omitempty"`
InstanceGuid *string `json:"InstanceGuid,omitempty"`
ProvidererTypeParameterValues *[]ProviderTypeParameterValue `json:"ProviderTypeParameterValues"`
ProviderId int `json:"ProviderId"`
IsManaged bool `json:"IsManaged"`
HasValue bool `json:"HasValue"`
} // ProviderTypeParameterValues - Not yet implemented
StorePasswordConfig configures the password field for a new certificate store. TODO: make re-usable struct for Secret type fields
type StoreTypes ¶
type StoreTypes struct {
StoreTypeId int `json:"StoreTypeId"`
Alias *string `json:"Alias,omitempty"`
Overwrite *bool `json:"Overwrite,omitempty"`
Properties *[]string `json:"Properties,omitempty"`
}
StoreTypes holds necessary store type metadata for creating and deploying certificates.
type StringTuple ¶
type StringTuple struct {
Elem1 string `json:"elem1,omitempty"`
Elem2 string `json:"elem2,omitempty"`
}
StringTuple is a struct holding two string elements used by the Keyfactor Go Client library for data types requiring a tuple of strings
type SubjectAltNameElements ¶
type SubjectAltNameElements struct {
Id int `json:"Id"`
Value string `json:"Value"`
Type int `json:"Type"`
ValueHash string `json:"ValueHash"`
}
SubjectAltNameElements contains detailed information on the SANs attached to a certificate, and is returned inside the GetCertificateContext method
type TemplateMetadataFields ¶
type TemplateRegex ¶
type TerraformLogger ¶
type TerraformLogger struct {
// contains filtered or unexported fields
}
TerraformLogger wraps the tflog logging to handle Go's log messages with log level mapping.
type UpdateMetadataArgs ¶
type UpdateMetadataArgs struct {
CertID int `json:"Id"`
CertificateMetadata []StringTuple `json:"-"`
Metadata map[string]interface{} `json:"Metadata"`
CollectionId int `json:"CollectionId"`
}
UpdateMetadataArgs holds the function arguments used for calling the UpdateMetadata method.
type UpdateSecurityRoleArg ¶
type UpdateSecurityRoleArg struct {
Id int `json:"Id,omitempty"`
CreateSecurityRoleArg
}
UpdateSecurityRoleArg holds the function arguments used for calling the UpdateSecurityRole method.
type UpdateSecurityRoleResponse ¶
type UpdateSecurityRoleResponse struct {
CreateSecurityRoleResponse
}
UpdateSecurityRoleResponse holds the response elements returned by the UpdateSecurityRole method
type UpdateStoreFctArgs ¶
type UpdateStoreFctArgs struct {
Id string `json:"Id,omitempty"`
ContainerId *int `json:"ContainerId,omitempty"`
ClientMachine string `json:"ClientMachine"`
StorePath string `json:"StorePath"`
CertStoreInventoryJobId *string `json:"CertStoreInventoryJobId,omitempty"`
CertStoreType int `json:"CertStoreType"`
Approved *bool `json:"Approved,omitempty"`
CreateIfMissing *bool `json:"CreateIfMissing,omitempty"`
// String JSON name-value pairs; this field is not recommended. Instead, please use Properties. This field is
// automatically populated by the CreateStore method. However, if configured, this field will be used.
PropertiesString string `json:"Properties,omitempty"`
// Mapped name-value pair field used to configure properties.
Properties map[string]interface{} `json:"-"`
AgentId string `json:"AgentId"`
AgentAssigned *bool `json:"AgentAssigned,omitempty"`
ContainerName *string `json:"ContainerName,omitempty"`
InventorySchedule *InventorySchedule `json:"InventorySchedule,omitempty"`
ReEnrollmentStatus *ReEnrollmnentConfig `json:"ReEnrollmentStatus,omitempty"`
SetNewPasswordAllowed *bool `json:"SetNewPasswordAllowed,omitempty"`
Password *StorePasswordConfig `json:"Password"`
}
UpdateStoreFctArgs holds the function arguments used for calling the UpdateStore method.
type UpdateStorePasswordConfig ¶ added in v3.2.0
type UpdateStoreResponse ¶
type UpdateStoreResponse struct{ CreateStoreResponse }
UpdateStoreResponse contains the response elements returned from the UpdateStore method.
type UpdateTemplateArg ¶
type UpdateTemplateArg struct {
Id int `json:"Id,omitempty"`
CommonName string `json:"CommonName,omitempty"`
TemplateName string `json:"TemplateName,omitempty"`
Oid string `json:"Oid,omitempty"`
KeySize string `json:"KeySize,omitempty"`
KeyType *string `json:"KeyType,omitempty"`
ForestRoot string `json:"ForestRoot,omitempty"`
FriendlyName *string `json:"FriendlyName,omitempty"`
KeyRetention *string `json:"KeyRetention,omitempty"`
KeyRetentionDays *int `json:"KeyRetentionDays,omitempty"`
KeyArchival *bool `json:"KeyArchival,omitempty"`
EnrollmentFields *[]TemplateEnrollmentFields `json:"EnrollmentFields,omitempty"`
MetadataFields *[]TemplateMetadataFields `json:"MetadataFields,omitempty"`
AllowedEnrollmentTypes *int `json:"AllowedEnrollmentTypes,omitempty"`
TemplateRegexes *[]TemplateRegex `json:"TemplateRegexes,omitempty"`
UseAllowedRequesters *bool `json:"UseAllowedRequesters,omitempty"`
AllowedRequesters *[]string `json:"AllowedRequesters,omitempty"`
RFCEnforcement *bool `json:"RFCEnforcement,omitempty"`
RequiresApproval *bool `json:"RequiresApproval,omitempty"`
KeyUsage *bool `json:"KeyUsage,omitempty"`
}
type UpdateTemplateResponse ¶
type UpdateTemplateResponse struct{ GetTemplateResponse }
type WorkflowActionResponse ¶
type WorkflowActionResponse struct {
Failures []struct {
CARowId int `json:"CARowId"`
CARequestId string `json:"CARequestId"`
CAHost string `json:"CAHost"`
CALogicalName string `json:"CALogicalName"`
KeyfactorRequestId int `json:"KeyfactorRequestId"`
Comment string `json:"Comment"`
} `json:"Failures"`
Denials []struct {
CARowId int `json:"CARowId"`
CARequestId string `json:"CARequestId"`
CAHost string `json:"CAHost"`
CALogicalName string `json:"CALogicalName"`
KeyfactorRequestId int `json:"KeyfactorRequestId"`
Comment string `json:"Comment"`
} `json:"Denials"`
Successes []struct {
CARowId int `json:"CARowId"`
CARequestId string `json:"CARequestId"`
CAHost string `json:"CAHost"`
CALogicalName string `json:"CALogicalName"`
KeyfactorRequestId int `json:"KeyfactorRequestId"`
Comment string `json:"Comment"`
} `json:"Successes"`
}
type WorkflowCertificate ¶
type WorkflowCertificate struct {
Id int `json:"Id"`
CARequestId string `json:"CARequestId"`
CommonName string `json:"CommonName"`
DistinguishedName string `json:"DistinguishedName"`
SubmissionDate time.Time `json:"SubmissionDate"`
CertificateAuthority string `json:"CertificateAuthority"`
Template string `json:"Template"`
Requester string `json:"Requester"`
State int `json:"State"`
StateString string `json:"StateString"`
Metadata map[string]string `json:"Metadata"`
}
Source Files
¶
- agent.go
- agent_models.go
- ca.go
- ca_models.go
- certificate.go
- certificate_models.go
- client.go
- client_models.go
- constants.go
- enrollment_patterns.go
- enrollment_patterns_models.go
- metadata.go
- metadata_models.go
- security.go
- security_models.go
- store.go
- store_container.go
- store_container_models.go
- store_models.go
- store_type.go
- store_type_models.go
- template.go
- template_models.go
- workflow.go
- workflow_models.go