import org.cacert.gigi.dbObjects.Certificate.CertificateStatus;
import org.cacert.gigi.dbObjects.Certificate.SubjectAlternateName;
import org.cacert.gigi.dbObjects.CertificateProfile;
+import org.cacert.gigi.dbObjects.Domain;
import org.cacert.gigi.dbObjects.Organisation;
+import org.cacert.gigi.dbObjects.User;
import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.output.CertificateValiditySelector;
import org.cacert.gigi.output.HashAlgorithms;
content.append(SAN.getName());
content.append('\n');
}
-
+ vars2.put("placeholderName", CertificateRequest.DEFAULT_CN);
+ if (c.getTarget() instanceof User) {
+ User target = (User) c.getTarget();
+ vars2.put("defaultName", target.getPreferredName().toString());
+ vars2.put("defaultEmail", target.getEmail());
+ Domain[] domains = target.getDomains();
+ if (domains.length > 0) {
+ vars2.put("defaultDomain", domains[0].getSuffix());
+ }
+ }
vars2.put("CN", cr.getName());
if (c.getTarget() instanceof Organisation) {
vars2.put("orga", "true");
<p><?=_CAcert Inc.'s public certification services are governed by a CPS as amended from time to time which is incorporated into this Agreement by reference. The Subscriber will use the SSL Server Certificate in accordance with SomeCA Inc.'s CPS and supporting documentation published at?> <a href="http://www.cacert.org/cps.php">http://www.cacert.org/cps.php</a></p>
<p><?=_If the Subscriber's name and/or domain name registration change the subscriber will immediately inform SomeCA Inc. who shall revoke the digital certificate. When the Digital Certificate expires or is revoked the company will permanently remove the certificate from the server on which it is installed and will not use it for any purpose thereafter. The person responsible for key management and security is fully authorized to install and utilize the certificate to represent this organization's electronic presence.?></p>
-
+<span id="placeholderName" class="js-hint"><?=$placeholderName?></span>
+<? if($defaultName) { ?>
+<span id="defaultName" class="js-hint"><?=$defaultName?></span>
+<span id="defaultEmail" class="js-hint"><?=$defaultEmail?></span>
+<? } ?>
+<? if($defaultDomain) { ?>
+<span id="defaultDomain" class="js-hint"><?=$defaultDomain?></span>
+<? } ?>
<table class="table">
<thead>
<tr>
}
}
}
+ function initCertForm() {
+ if(document.getElementById("placeholderName") == null) {
+ return;
+ }
+ function getHint(id){
+ var elem = document.getElementById(id);
+ if(elem === null) {
+ return null;
+ }
+ return $(elem).text();
+ }
+ $("select[name=profile]").off("change");
+ $("textarea[name=SANs]").off("keydown");
+ $("textarea[name=SANs]").get(0).modified=false;
+ $("input[name=CN]").off("keydown");
+ $("input[name=CN]").get(0).modified=false;
+
+ var placeholderName = getHint("placeholderName");
+ var defaultName = getHint("defaultName");
+ var defaultEmail = getHint("defaultEmail");
+ var defaultDomain = getHint("defaultDomain");
+ if(defaultName === null) {
+ return;
+ }
+ $("textarea[name=SANs]").on("keydown", function(){
+ this.modified = this.value !== "";
+ });
+ $("input[name=CN]").on("keydown", function(){
+ this.modified = this.value !== "";
+ });
+
+ var loginCheck = document.getElementById("login");
+ $("select[name=profile]").change(function(){
+ var val = this.value;
+ var sans = $("textarea[name=SANs]").get(0);
+ if(val.match(/client.*/)) {
+ loginCheck.checked = true;
+ loginCheck.disabled = false;
+ } else {
+ loginCheck.checked = false;
+ loginCheck.disabled = true;
+ }
+ if(val.match(/client.*|mail.*/)) {
+ if(!sans.modified) {
+ sans.value = "email:"+defaultEmail;
+ }
+ } else if(val.match(/server.*/)) {
+ if(!sans.modified) {
+ sans.value = defaultDomain === null ? "" : "dns:" + defaultDomain;
+ }
+ }
+ var cn = $("input[name=CN]").get(0);
+ if(val.match(/.*-a/)) {
+ if(!cn.modified) {
+ cn.value = defaultName;
+ }
+ }else{
+ if(!cn.modified) {
+ cn.value = placeholderName;
+ }
+ }
+ });
+ var children = $("select[name=profile]").get(0).children;
+ var target = "client-mail";
+ for(var i=0; i < children.length; i++){
+ if(children[i].value == "client-mail-a"){
+ target = "client-mail-a";
+ }
+ }
+
+ $("select[name=profile]").get(0).value = target;
+ $("select[name=profile]").trigger("change");
+
+ }
function init(){
showExpert(false);
+ initCertForm();
var expert = document.getElementById("expertbox");
if(expert !== null) {
expert.onchange = (function(expert){return function(){showExpert(expert.checked)}})(expert);