lemur/static/app/angular/certificates/certificate/options.tpl.html (256 lines of code) (raw):

<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-----[\S\s]*-----END CERTIFICATE REQUEST-----)|(^-----BEGIN NEW CERTIFICATE REQUEST-----[\S\s]*-----END NEW 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', 'ECCPRIME256V1', 'ECCSECP384R1']" ng-init="certificate.keyType = 'ECCPRIME256V1'"></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 class="col-sm-10"> </div></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>