103 lines
4.5 KiB
Handlebars
103 lines
4.5 KiB
Handlebars
|
<form {{on "submit" this.generateRoot}} data-test-pki-config-generate-root-form>
|
|||
|
<MessageError @errorMessage={{this.errorBanner}} class="has-top-margin-s" />
|
|||
|
<h2 class="title is-size-5 has-border-bottom-light page-header" data-test-generate-root-title="Root parameters">
|
|||
|
Root parameters
|
|||
|
</h2>
|
|||
|
{{#each this.defaultFields as |field|}}
|
|||
|
{{#let (find-by "name" field @model.allFields) as |attr|}}
|
|||
|
<FormField
|
|||
|
@attr={{attr}}
|
|||
|
@model={{@model}}
|
|||
|
@modelValidations={{this.modelValidations}}
|
|||
|
@onChange={{this.checkFormValidity}}
|
|||
|
data-test-field
|
|||
|
>
|
|||
|
{{#if (eq field "customTtl")}}
|
|||
|
{{! customTtl attr has editType yield, which will render this }}
|
|||
|
<PkiNotValidAfterForm @attr={{attr}} @model={{@model}} />
|
|||
|
{{/if}}
|
|||
|
</FormField>
|
|||
|
{{/let}}
|
|||
|
{{/each}}
|
|||
|
|
|||
|
{{! togglable groups }}
|
|||
|
{{#each-in this.groups as |group fields|}}
|
|||
|
<ToggleButton
|
|||
|
@isOpen={{eq this.showGroup group}}
|
|||
|
@openLabel={{concat "Hide " group}}
|
|||
|
@closedLabel={{group}}
|
|||
|
@onClick={{fn this.toggleGroup group}}
|
|||
|
class="is-block"
|
|||
|
data-test-toggle-group={{group}}
|
|||
|
/>
|
|||
|
{{#if (eq this.showGroup group)}}
|
|||
|
<div class="box is-marginless" data-test-group={{group}}>
|
|||
|
{{#if (eq group "Key parameters")}}
|
|||
|
<p class="has-bottom-margin-m" data-test-toggle-group-description>
|
|||
|
{{#if (eq @model.type "internal")}}
|
|||
|
This certificate type is internal. This means that the private key will not be returned and cannot be retrieved
|
|||
|
later. Below, you will name the key and define its type and key bits.
|
|||
|
{{else if (eq @model.type "kms")}}
|
|||
|
This certificate type is kms, meaning managed keys will be used. Below, you will name the key and tell Vault
|
|||
|
where to find it in your KMS or HSM.
|
|||
|
<DocLink @path="/vault/docs/enterprise/managed-keys">Learn more about managed keys.</DocLink>
|
|||
|
{{else if (eq @model.type "exported")}}
|
|||
|
This certificate type is exported. This means the private key will be returned in the response. Below, you will
|
|||
|
name the key and define its type and key bits.
|
|||
|
{{else if (eq @model.type "existing")}}
|
|||
|
You chose to use an existing key. This means that we’ll use the key reference to create the CSR or root. Please
|
|||
|
provide the reference to the key.
|
|||
|
{{else}}
|
|||
|
Please choose a type to see key parameter options.
|
|||
|
{{/if}}
|
|||
|
</p>
|
|||
|
{{#if this.keyParamFields}}
|
|||
|
<PkiKeyParameters @model={{@model}} @fields={{this.keyParamFields}} />
|
|||
|
{{/if}}
|
|||
|
{{else}}
|
|||
|
<p class="has-bottom-margin-m" data-test-toggle-group-description>
|
|||
|
{{#if (eq group "Subject Alternative Name (SAN) Options")}}
|
|||
|
SAN fields are an extension that allow you specify additional host names (sites, IP addresses, common names,
|
|||
|
etc.) to be protected by a single certificate.
|
|||
|
{{else if (eq group "Additional subject fields")}}
|
|||
|
These fields provide more information about the client to which the certificate belongs.
|
|||
|
{{/if}}
|
|||
|
</p>
|
|||
|
{{#each fields as |fieldName|}}
|
|||
|
{{#let (find-by "name" fieldName @model.allFields) as |attr|}}
|
|||
|
<FormField data-test-field @attr={{attr}} @mode="create" @model={{@model}} />
|
|||
|
{{/let}}
|
|||
|
{{/each}}
|
|||
|
{{/if}}
|
|||
|
</div>
|
|||
|
{{/if}}
|
|||
|
{{/each-in}}
|
|||
|
|
|||
|
{{!-- TODO: this section
|
|||
|
<fieldset class="box is-shadowless is-marginless is-borderless is-fullwidth">
|
|||
|
<h2 class="title is-size-5 has-border-bottom-light page-header" data-test-generate-root-title="Issuer URLs">Issuer URLs</h2>
|
|||
|
{{! Updating this area of the form will require a secondary call to issuer/:issuer_ref/update once the initial request is complete }}
|
|||
|
</fieldset> --}}
|
|||
|
|
|||
|
<div class="field is-grouped box is-fullwidth is-bottomless">
|
|||
|
<div class="control">
|
|||
|
<button type="submit" class="button is-primary" data-test-pki-generate-root-save>
|
|||
|
Done
|
|||
|
</button>
|
|||
|
<button {{on "click" this.cancel}} type="button" class="button has-left-margin-s" data-test-pki-generate-root-cancel>
|
|||
|
Cancel
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
{{#if this.invalidFormAlert}}
|
|||
|
<div class="control">
|
|||
|
<AlertInline
|
|||
|
@type="danger"
|
|||
|
@paddingTop={{true}}
|
|||
|
@message={{this.invalidFormAlert}}
|
|||
|
@mimicRefresh={{true}}
|
|||
|
data-test-pki-generate-root-validation-error
|
|||
|
/>
|
|||
|
</div>
|
|||
|
{{/if}}
|
|||
|
</div>
|
|||
|
</form>
|