#pragma section-numbers off This is the page of the MemberManual that describes how to generate a valid SSL cert. <> = Introduction = There are several different options available for providing an SSL certificate to use with us. The first option is to get a signed certificate from a trusted Certificate Authority ("CA" for short). If you want to make it os that visitors to your website never see an annoying nag dialog box, then this is your best option. Alternatively, you can provide us with a certificate request ("CSR" for short), and we can provide you with a signed certificate. Please be aware that since our CA certificate is not included by default with any web browsers or operating systems, you won't really gain much benefit from having us sign your cert, except for a nebulous "cool factor" :) . If you want to be sure that the people who browse your website won't be prompted about accepting your SSL certificate, then this is not for you. The last option is to make a self-signed certificate. = Option 1: Getting a certificate from a real CA = There are several options available. By far the largest providers are [[http://www.verisign.com/|VeriSign]] and [[http://www.thawte.com/|Thawte]]. We make no specific recommendations concerning which CA to choose: just make certain that their root CA certificates are included with the majority of web browsers. One interesting option is a free SSL certificate from Comodo on [[http://www.instantssl.com/]]. They issue a regular and trusted SSL certificate at no cost, provided that you're fine with the following: * you need to be able to accept email at root@your.domain.com or root@domain.com to "confirm" your certificate (actually they offer a few different usernames in the list, not just root) * the certificate is issued for a period of 90 days, after which you have to renew it * the certificate is not "EV" type, so the URL in visitor's browsers will not have the new green color but only the usual "secure" one (yellow) * the SSL seal they provide for use on your website (if you want one) is less nice than for their certificates that cost some money. = Option 2: Having HCoop provide you with a certificate = If you are creating an SSL certificate to use for a web virtual host via DomTool, then you need to create both a key file and a csr file. The csr file is called a "certifcate signing request" (sometimes abbreviated "certificate request"), and you will want to specify that on the SSL form in the HCoop Portal. We'll also need access to your key. This allows you to import a single [[http://hcoop.net/ca/ca.crt|CA certificate]] (click on the link if you wish to install it), which avoids the "certificate confirmation" dialog box when you browse one of our websites (or one of our member websites). Be aware that '''we are not in any way requiring that you have your certificate signed by HCoop'''; it is solely for the sake of convenience and the aforementioned nebulous "cool factor" that we provide this option. To create a cerificate request in `file.csr` and a private key in `file.key`, do the following. These files should be readable only by you and the HCoop admins, so be sure to set permissions properly on the directory where you store the certificate request and key. The certificate should be placed somewhere in your home directory, like "{{{~/certs}}}", for example. {{{ openssl req -newkey rsa:2048 -keyout file.key -out file.csr -nodes }}} Here is an explanation of the parameters that you will be asked to provide. Replace '''yourdomain.org''' with your domain name. * '''Country'''/'''State'''/'''Locality''': These are self-explanatory. * '''Organization Name''': This can be anything you want. It is often the full name or description of your organization or website. * '''Organizational Unit Name''': This can be anything you want. It can be left blank. * '''Common Name''': This is the domain that goes with the certificate. It can be either a single name (i.e. "yourdomain.org"), or a wildcard domain (like "*.yourdomain.org"). The wildcard domain is used for sharing the same certificate in multiple subdomains of your domain. * '''Email Address''': A valid email address. People often use {{{ca@yourdomain.org}}}. * '''Challenge Password''': Leave blank. * '''Company Name''': This can be anything you want. It can be left blank. You will supply us with: * The number days that you want the certificate to be valid (by default: 3650). * The path to your certificate request file (with a {{{.csr}}} file extension). * The path to your key file (with a {{{.key}}} file extension). When we process your request, we will: * Sign the certificate request as a Certificate Authority (CA). * Place the resulting signed certificate in the same directory as the certificate request, with a ".pem" extension. Your key will be appended to this file in order to decrease the change of forgetting to do this yourself when it comes time to request the installation of this certificate. Now you're ready to follow the rest of the instructions on [[../|the parent page]]. = Making a self-signed .pem file = This is for reference, in case you want to make a self-signed certificate rather than having HCoop sign it. '''DAYS''' indicates the number of days that you want the certificate to be valid. '''FILE''' is the filename of the certificate that will be generated: it should end in ".pem". '''DAYS''' indicates the number of days that you want the certificate to be valid. {{{ openssl req -x509 -newkey rsa:2048 -keyout FILE -out FILE -days DAYS -nodes }}} Now you're ready to follow the rest of the instructions on [[../|the parent page]].