CMD="openssl req -out $filebase.req -newkey rsa:$bits -new -keyout $filebase.priv -config $REQ_CONFIG_FILE_EMAIL"
            echo $CMD; $CMD;
             ;;
+        clientuid)
+           echo UID cert $flags
+           flags="client"
+           CMD="openssl req -out $filebase.req -newkey rsa:$bits -new -keyout $filebase.priv -config $REQ_CONFIG_FILE_UID"
+           echo $CMD; $CMD;
+            ;;
         *)
            echo normal cert $flags
            CMD="openssl req -out $filebase.req -newkey rsa:$bits -new -keyout $filebase.priv -config $REQ_CONFIG_FILE"
     create_cert_proxy_proxy $CERT_DIR/${catype}_${TYPE} "$catype ${CTYPE}" proxy_proxy "proxy" 1 proxy
     create_cert_proxy_proxy $CERT_DIR/${catype}_${TYPE} "$catype ${CTYPE}" proxy_proxy_exp "expired proxy" -1 proxy_exp
 
+    TYPE="clientuid"
+    CTYPE="client UID"
+
+    create_cert $CERT_DIR/${catype}_${TYPE} "$catype ${CTYPE}" ${TYPE} $DAYS
+    create_cert_proxy $CERT_DIR/${catype}_${TYPE} "$catype ${CTYPE}" proxy "proxy" 1
+    create_cert_proxy $CERT_DIR/${catype}_${TYPE} "$catype ${CTYPE}" proxy_exp "expired proxy" -1
+    create_cert_proxy_proxy $CERT_DIR/${catype}_${TYPE} "$catype ${CTYPE}" proxy_proxy "proxy" 1 proxy
+    create_cert_proxy_proxy $CERT_DIR/${catype}_${TYPE} "$catype ${CTYPE}" proxy_proxy_exp "expired proxy" -1 proxy_exp
+
     TYPE="fclient"
     CTYPE="flag client"
 
     export REQ_CONFIG_FILE=$CA_DIR/req_conf.cnf
     export REQ_CONFIG_FILE_SERIAL=$CA_DIR/req_conf_sn.cnf
     export REQ_CONFIG_FILE_EMAIL=$CA_DIR/req_conf_email.cnf
+    export REQ_CONFIG_FILE_UID=$CA_DIR/req_conf_uid.cnf
     export REQ_PROXY_CONFIG_FILE=$CA_DIR/req_proxy_conf.cnf
     export REQ_PROXY_PROXY_CONFIG_FILE=$CA_DIR/req_proxy_proxy_conf.cnf
     export PROXY_BITS=512
 
 organizationalUnitName = optional\r
 commonName             = supplied\r
 emailAddress           = optional\r
+serialNumber           = optional\r
+userId                 = optional\r
 \r
 [ ca_cert ]\r
 basicConstraints=CA:TRUE\r
 
--- /dev/null
+[ req ]\r
+default_bits           = $ENV::BITS\r
+default_keyfile        = keyfile.pem\r
+distinguished_name     = req_distinguished_name\r
+attributes             = req_attributes\r
+prompt                 = no\r
+output_password        = $ENV::PASSWORD\r
+ca_cert                           = CA_cert\r
+\r
+[ req_distinguished_name ]\r
+countryName                    = UG\r
+\r
+#stateOrProvinceName          = South area\r
+\r
+localityName                   = Tropic\r
+\r
+organizationName                      = Utopia\r
+\r
+organizationalUnitName         = Relaxation\r
+\r
+commonName                     = $ENV::CN\r
+\r
+userId                         = testuserid\r
+\r
+#emailAddress                   = Email Address\r
+\r
+[ req_attributes ]\r
+#challengePassword              = $ENV::PASSWORD\r
+\r
+[ CA_cert ]\r
+basicConstraints = CA:true\r
+subjectKeyIdentifier=hash\r
+authorityKeyIdentifier=keyid:always,issuer:always\r
+\r
+[ proxy_none ]\r
 
 organizationName       = optional\r
 organizationalUnitName = optional\r
 commonName             = supplied\r
+serialNumber           = optional\r
+userId                 = optional\r
 emailAddress           = optional\r
 \r
 [ ca_cert ]\r
 
--- /dev/null
+[ req ]\r
+default_bits           = $ENV::BITS\r
+default_keyfile        = keyfile.pem\r
+distinguished_name     = req_distinguished_name\r
+attributes             = req_attributes\r
+prompt                 = no\r
+output_password        = $ENV::PASSWORD\r
+ca_cert                           = CA_cert\r
+\r
+[ req_distinguished_name ]\r
+countryName                    = UG\r
+\r
+#stateOrProvinceName          = South area\r
+\r
+localityName                   = Tropic\r
+\r
+organizationName                      = Utopia\r
+\r
+organizationalUnitName         = Relaxation\r
+\r
+commonName                     = $ENV::CN\r
+\r
+userId                         = testuserid\r
+\r
+#emailAddress                   = Email Address\r
+\r
+[ req_attributes ]\r
+#challengePassword              = $ENV::PASSWORD\r
+\r
+[ CA_cert ]\r
+basicConstraints = CA:true\r
+subjectKeyIdentifier=hash\r
+authorityKeyIdentifier=keyid:always,issuer:always\r
+\r
+[ proxy_none ]\r
 
 organizationalUnitName = optional\r
 commonName             = supplied\r
 emailAddress           = optional\r
+serialNumber           = optional\r
+userId                 = optional\r
 \r
 [ ca_cert ]\r
 basicConstraints=CA:TRUE\r
 
--- /dev/null
+[ req ]\r
+default_bits           = $ENV::BITS\r
+default_keyfile        = keyfile.pem\r
+distinguished_name     = req_distinguished_name\r
+attributes             = req_attributes\r
+prompt                 = no\r
+output_password        = $ENV::PASSWORD\r
+ca_cert                           = CA_cert\r
+\r
+[ req_distinguished_name ]\r
+countryName                    = UG\r
+\r
+#stateOrProvinceName          = South area\r
+\r
+localityName                   = Tropic\r
+\r
+organizationName                      = Utopia\r
+\r
+organizationalUnitName         = Relaxation\r
+\r
+commonName                     = $ENV::CN\r
+\r
+userId                         = testuserid\r
+\r
+#emailAddress                   = Email Address\r
+\r
+[ req_attributes ]\r
+#challengePassword              = $ENV::PASSWORD\r
+\r
+[ CA_cert ]\r
+basicConstraints = CA:true\r
+subjectKeyIdentifier=hash\r
+authorityKeyIdentifier=keyid:always,issuer:always\r
+\r
+[ proxy_none ]\r
 
 commonName             = supplied\r
 emailAddress           = optional\r
 serialNumber           = optional\r
+userId                 = optional\r
 \r
 [ ca_cert ]\r
 basicConstraints=CA:TRUE\r
 
--- /dev/null
+[ req ]\r
+default_bits           = $ENV::BITS\r
+default_keyfile        = keyfile.pem\r
+distinguished_name     = req_distinguished_name\r
+attributes             = req_attributes\r
+prompt                 = no\r
+output_password        = $ENV::PASSWORD\r
+ca_cert                           = CA_cert\r
+\r
+[ req_distinguished_name ]\r
+countryName                    = UG\r
+\r
+#stateOrProvinceName          = South area\r
+\r
+localityName                   = Tropic\r
+\r
+organizationName                      = Utopia\r
+\r
+organizationalUnitName         = Relaxation\r
+\r
+commonName                     = $ENV::CN\r
+\r
+userId                         = testuserid\r
+\r
+#emailAddress                   = Email Address\r
+\r
+[ req_attributes ]\r
+#challengePassword              = $ENV::PASSWORD\r
+\r
+[ CA_cert ]\r
+basicConstraints = CA:true\r
+subjectKeyIdentifier=hash\r
+authorityKeyIdentifier=keyid:always,issuer:always\r
+\r
+[ proxy_none ]\r