* ecc: add the support for ECC update generate_private_key to support ECC. Move key types to constant. Update UI for the new key types * ecc: Remove extra line to fix linting * ecc: Fix flake8 lint problems * Update options.tpl.html
259 lines
11 KiB
HTML
259 lines
11 KiB
HTML
<form name="optionsForm" novalidate>
|
|
<div class="form-horizontal">
|
|
<div>
|
|
<div class="form-group">
|
|
<label class="control-label col-sm-2">
|
|
Certificate Template
|
|
</label>
|
|
<div class="col-sm-10">
|
|
<select class="form-control" ng-change="certificate.useTemplate()" name="certificateTemplate"
|
|
ng-model="certificate.template" ng-options="template.name for template in templates"></select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group"
|
|
ng-class="{'has-error': trackingForm.csr.$invalid&&trackingForm.csr.$dirty, 'has-success': !trackingForm.csr.$invalid&&trackingForm.csr.$dirty}">
|
|
<label class="control-label col-sm-2">
|
|
Certificate Signing Request (CSR)
|
|
</label>
|
|
<div class="col-sm-10">
|
|
<textarea uib-tooltip="Values defined in the CSR will take precedence"
|
|
name="certificate signing request"
|
|
ng-model="certificate.csr"
|
|
placeholder="PEM encoded string..." class="form-control"
|
|
ng-pattern="/^-----BEGIN CERTIFICATE REQUEST-----/"></textarea>
|
|
|
|
<p ng-show="trackingForm.csr.$invalid && !trackingForm.csr.$pristine"
|
|
class="help-block">Enter a valid certificate signing request.</p>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-sm-2">
|
|
Key Type
|
|
</label>
|
|
<div class="col-sm-10">
|
|
<select class="form-control" ng-model="certificate.keyType"
|
|
ng-options="option for option in ['RSA2048', 'RSA4096', 'ECCPRIME192V1', 'ECCPRIME256V1', 'ECCSECP192R1',
|
|
'ECCSECP224R1', 'ECCSECP256R1', 'ECCSECP384R1', 'ECCSECP521R1', 'ECCSECP256K1',
|
|
'ECCSECT163K1', 'ECCSECT233K1', 'ECCSECT283K1', 'ECCSECT409K1', 'ECCSECT571K1',
|
|
'ECCSECT163R2', 'ECCSECT233R1', 'ECCSECT283R1', 'ECCSECT409R1', 'ECCSECT571R2']"
|
|
ng-init="certificate.keyType = 'RSA2048'"></select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-sm-2">
|
|
Key Usage
|
|
</label>
|
|
<div class="col-sm-3">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.keyUsage.useDigitalSignature">Digital Signature
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.keyUsage.useNonRepudiation">Non Repudiation
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.keyUsage.useKeyEncipherment">Key Encipherment
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.keyUsage.useDataEncipherment">Data Encipherment
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.keyUsage.useKeyCertSign">Key Certificate Signature
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.keyUsage.useCRLSign">CRL Sign
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.keyUsage.useKeyAgreement">Key Agreement
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
<input type="radio" name="encipherOrDecipher" ng-model="certificate.encipherOrDecipher" value="useEncipherOnly" ng-click="certificate.setEncipherOrDecipher('useEncipherOnly')">Encipher Only
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
<input type="radio" name="encipherOrDecipher" ng-model="certificate.encipherOrDecipher" value="useDecipherOnly" ng-click="certificate.setEncipherOrDecipher('useDecipherOnly')">Decipher Only
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-sm-2">
|
|
Extended Key Usage
|
|
</label>
|
|
<div class="col-sm-3">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.extendedKeyUsage.useServerAuthentication">Server
|
|
Authentication
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.extendedKeyUsage.useClientAuthentication">Client
|
|
Authentication
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.extendedKeyUsage.useEmailProtection">Email Protection
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.extendedKeyUsage.useTimestamping">Timestamping
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.extendedKeyUsage.useCodeSigning">Code Signing
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.extendedKeyUsage.useEapOverLAN">EAP Over LAN
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.extendedKeyUsage.useEapOverPPP">EAP Over PPP
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.extendedKeyUsage.useSmartCardLogon">Smart Card Logon
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.extensions.extendedKeyUsage.useOCSPSigning">OCSP Signing
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-sm-2">
|
|
Authority Key Identifier
|
|
</label>
|
|
<div class="col-sm-10">
|
|
<div class="checkbox">
|
|
<label tooltip-trigger="mouseenter" tooltip-placement="top"
|
|
uib-tooltip="Put Issuer's keyIdentifier in this extension">
|
|
<input type="checkbox" ng-model="certificate.extensions.authorityKeyIdentifier.useKeyIdentifier">Key Identifier
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label tooltip-trigger="mouseenter" tooltip-placement="top"
|
|
uib-tooltip="Put Issuer's Name and Serial number">
|
|
<input type="checkbox" ng-model="certificate.extensions.authorityKeyIdentifier.useAuthorityCert">Authority Certificate
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-sm-2">
|
|
Authority Information Access
|
|
</label>
|
|
<div class="col-sm-10">
|
|
<div class="checkbox">
|
|
<label tooltip-trigger="mouseenter" tooltip-placement="top"
|
|
uib-tooltip="Ask CA to include/not include AIA extension">
|
|
<input type="checkbox" ng-model="certificate.extensions.certificateInfoAccess.includeAIA">Include AIA
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-sm-2">
|
|
Subject Key Identifier
|
|
</label>
|
|
<div class="col-sm-10">
|
|
<div class="checkbox">
|
|
<label tooltip-trigger="mouseenter" tooltip-placement="top"
|
|
uib-tooltip="Ask CA to include/not include Subject Key Identifier">
|
|
<input type="checkbox" ng-model="certificate.extensions.subjectKeyIdentifier.includeSKI">Include SKI
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-sm-2">
|
|
cRL Distribution Points
|
|
</label>
|
|
<div class="col-sm-10">
|
|
<select class="form-control" ng-model="certificate.extensions.crlDistributionPoints.includeCrlDp"
|
|
ng-options="item for item in ['yes', 'no', 'default']"></select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-sm-2">
|
|
Custom
|
|
</label>
|
|
<div class="col-sm-2">
|
|
<input tooltip-trigger="focus" tooltip-placement="top"
|
|
uib-tooltip="OID for the custom extension e.g. 1.12.123.12.10" class="form-control" name="oid"
|
|
ng-model="certificate.customOid" placeholder="Oid" class="form-control" required/>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<select tooltip-trigger="focus" tooltip-placement="top" uib-tooltip="Encoding for value"
|
|
class="form-control col-sm-2" ng-model="certificate.customEncoding"
|
|
ng-options="item for item in ['b64asn1', 'string', 'ia5string']"></select>
|
|
</div>
|
|
<div class="col-sm-4">
|
|
<div class="input-group">
|
|
<input tooltip-trigger="focus" tooltip-placement="top"
|
|
uib-tooltip="String or Base64-encoded DER ASN.1 structure for the value" class="form-control"
|
|
name="value" ng-model="certificate.customValue" placeholder="Value" class="form-control" required/>
|
|
<span class="input-group-btn">
|
|
<button ng-click="certificate.attachCustom()" class="btn btn-info">Add</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" ng-model="certificate.customIsCritical">Critical
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-sm-10 col-sm-offset-2">
|
|
<table class="table">
|
|
<tr ng-repeat="custom in certificate.extensions.custom track by $index">
|
|
<td>{{ custom.oid }}</td>
|
|
<td>{{ custom.encoding }}</td>
|
|
<td>{{ custom.value }}</td>
|
|
<td>{{ custom.isCritical ? "critical" : "" }}</td>
|
|
<td>
|
|
<button type="button" ng-click="certificate.removeCustom($index)"
|
|
class="btn btn-danger btn-sm pull-right">Remove
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</form>
|