{
#    use Data::Validate::IP;
    use Net::IP qw(ip_is_ipv4 ip_is_ipv6);
    our $KeySize = $modSSL{KeySize} ||'4096';
    our $FQDN = "$SystemName.$DomainName";
    our $Country = $modSSL{Country} || "--";
    our $State = $modSSL{State} || "----";
    our $commonName = $modSSL{CommonName} || $FQDN;
    our $crt = "/home/e-smith/ssl.crt/$FQDN.crt";
    our $key = "/home/e-smith/ssl.key/$FQDN.key";
    our $defaultCity = $ldap{defaultCity} || '-';
    our $defaultCompany = $ldap{defaultCompany} || $commonName ;
    our $defaultDepartment = $ldap{defaultDepartment} || '-';
    our $email = "admin\@$DomainName";
    our @subjectAlt = `/sbin/e-smith/generate-subjectaltnames`;
    chomp @subjectAlt;
    our $subjectAltName = "";
	my $i=0;
	for my $elem (@subjectAlt) {
		$subjectAltName .= ", " if $i>0;
		$i++;
		if (ip_is_ipv4($elem) || ip_is_ipv6($elem) ){
		$subjectAltName .= "IP:$elem";
		next;
		}
		$subjectAltName .= "DNS:$elem";
	}
    $subjectAltName = ( $subjectAltName eq "DNS: ")? "": $subjectAltName;

    # crop fields that are too long for X509:
    $Country = substr($Country, 0, 2);
    $defaultCity = substr($defaultCity, 0, 128);
    $defaultCompany = substr($defaultCompany, 0, 64);
    $defaultDepartment = substr($defaultDepartment, 0, 64);
    $email = substr($email, 0, 64);
    $commonName = substr($commonName, 0, 64);
    $OUT="";
}
