You should consider using the OpenSSL toolkit for the creation of certificate signing requests. OpenSSL comes pre-installed with most Linux distributions and MacOS X. The OpenSSL project also offers an OpenSSL for Windows download.
Once you have OpenSSL installed on your platform, use it to generate a CSR by typing:
openssl req -new -newkey rsa:2048 -keyout userkey.pem -out usercert_request.pem -subj /CN=bla
These browsers are not supported at the moment:
openssl pkcs12 -nocerts -in cert.p12 -out ~user/.globus/userkey.pem
openssl pkcs12 -clcerts -nokeys -in cert.p12 -out ~user/.globus/usercert.pem
chmod 0600 userkey.pem
chmod 0644 usercert.pem
Instead of having it's own certificate management facilities, on Linux Google chrome ties into libnss3-tools. See the Chrome documentation on certificate management. On the downside, users will not have a very nice graphical interface to manage their certificates. On the other downside, the certutil command is not very easy to use. On the upside, it is rather powerful.
So after issuing a certificate, it can be checked whether it is present as one of the user's certificates:
certutil -d sql:$HOME/.pki/nssdb -L
Unfortunately the auto-generated cert id makes all cert operations an input-hazzle. List the details of a certificate:
certutil -d sql:$HOME/.pki/nssdb -L -n Confusa\ Test\ User\ Full\ Name\ aeoeaa\ confusatest@feide.no\'s\ TERENA\ eScience\ Personal\ CA\ ID
To export the certificate, from the NSS3 database, pk12util has to be used because certutil can only export the public key:
pk12util -d sql:$HOME/.pki/nssdb -o cert.p12 -n Confusa\ Test\ User\ Full\ Name\ aeoeaa\ confusatest@feide.no\'s\ TERENA\ eScience\ Personal\ CA\ ID
Now that the certificate has been exported in PKCS#12 format, it needs to be converted to PKCS#7 format in order to be used with the Globus/Grid software.
Automatic import via the Chrome browser does not work. Instead the certificate has to be downloaded to the harddrive. Opening the browser options, navigating to "Under the hood" and clicking on the "Certificate Management" button, will bring up Windows' integrated certificate management. There the certificate can be imported.
Our friend CertUtil will have to help us with importing again. First we download the CA-cert from the CA section of the portal and then we import it with certutil. -t T,c,c tells cert-util that the certificate can serve as a well CA for client certificates in SSL and is a valid CA for S/MIME and JAR.
certutil -d sql:$HOME/.pki/nssdb -A -n terena_escience_ca -t T,c,c -i TERENAeSciencePersonalCA.crt