welcome: please sign in

Diff for "MemberManual/ServingWebsites/SslCert"

Differences between revisions 23 and 36 (spanning 13 versions)
Revision 23 as of 2007-11-17 22:10:50
Size: 4379
Editor: MichaelOlson
Comment: Add big fat disclaimer about using our cert, and link to it
Revision 36 as of 2013-01-23 19:58:28
Size: 6505
Editor: ClintonEbadi
Comment: cleanup run #1
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
[[TableOfContents]] <<TableOfContents>>
Line 7: Line 7:
= Introduction = == Introduction ==
Line 13: Line 13:
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 [http://deleuze.hcoop.net/ca/ca.crt 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. 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.
Line 17: Line 17:
= Having HCoop provide you with a certificate = There are several good introductions to SSL and x509 certificates in general if you are unfamiliar with the subject:
Line 19: Line 19:
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.  * [[http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html#aboutcerts|Apache SSL FAQ]]
 * [[http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO/index.html|The SSL Certificate HOWOTO]]
Line 21: Line 22:
To create a cerificate request in `file.csr` and a private key in `file.key`, do the following. The certificate should be placed somewhere in your home directory, like "{{{~/certs}}}", for example. == Security Precautions ==

At some point, your certificate and private key will need to be stored in afs. Since afs is publicly accessible, you need to take a few precautions to ensure that your data remains private. For all key operations, keep the files in a directory that only you and the admins can read:

{{{
mkdir certificates
fs setacl certificates -clear $USER all
}}}

== Obtaining a Certificate ==

=== Getting a certificate from a trusted CA ===

There are several options available. By far the largest providers are [[http://www.verisign.com/|VeriSign]] and [[http://www.thawte.com/|Thawte]]. Several members seem to like [[http://gandi.net|Gandi]]. You can also get a basic zero-cost certificate from [[http://startssl.com|StartSSL]]. 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.

=== 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 "certificate 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'''. There's probably little benefit for public facing website, but you do gain the ability to have us revoke your certificate if e.g. your private key is somehow compromised.

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.
Line 37: Line 59:
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. Now you're ready to follow the rest of the instructions on [:../:the previous page]. 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).
Line 42: Line 68:
 * Place a complimentary copy of the resulting certificate in the same directory as the certificate request, with a ".crt" extension.
 * Concatenate the signed request with your key.
 * Place the result in {{{/etc/apache2/ssl/user/yourdomain.org.pem}}}.
 * Grant you Domtool permissions so that you can use this certificate at location {{{/etc/apache2/ssl/user/yourdomain.org.pem}}} in your Domtool configuration.
 * 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.
Line 47: Line 70:
This allows you to import a single [http://deleuze.hcoop.net/ca/ca.crt CA certificate] (click on the link to install), 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 recommending that you do this'''; it is solely for the sake of convenience that we provide this option. Now you're ready to follow the rest of the instructions on [[../|the parent page]].
Line 49: Line 72:
= Making a self-signed .pem file = === Making a self-signed certificate ===
Line 58: Line 81:

== Installing the Certificate ==

Now that you have a certificate, we need to install it.

Use the [[https://members.hcoop.net/portal/cert|SSL permissions]] page on the portal to request installation of your new certificate. You need to provide us with either:

 * A `pem` containing your public certificate and private key concatenated together
 * Your public certificate and private key, both in `pem` format

We will then verify the certificate and install it, providing you with a path that you can use to [[DomTool/Examples#UsingSSL.28HTTPS.29|enable SSL using domtool]].

----
CategoryNeedsWork CategoryMemberManual

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.

There are several good introductions to SSL and x509 certificates in general if you are unfamiliar with the subject:

Security Precautions

At some point, your certificate and private key will need to be stored in afs. Since afs is publicly accessible, you need to take a few precautions to ensure that your data remains private. For all key operations, keep the files in a directory that only you and the admins can read:

mkdir certificates
fs setacl certificates -clear $USER all

Obtaining a Certificate

Getting a certificate from a trusted CA

There are several options available. By far the largest providers are VeriSign and Thawte. Several members seem to like Gandi. You can also get a basic zero-cost certificate from StartSSL. 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.

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 "certificate 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 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. There's probably little benefit for public facing website, but you do gain the ability to have us revoke your certificate if e.g. your private key is somehow compromised.

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 certificate

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

Installing the Certificate

Now that you have a certificate, we need to install it.

Use the SSL permissions page on the portal to request installation of your new certificate. You need to provide us with either:

  • A pem containing your public certificate and private key concatenated together

  • Your public certificate and private key, both in pem format

We will then verify the certificate and install it, providing you with a path that you can use to enable SSL using domtool.


CategoryNeedsWork CategoryMemberManual

MemberManual/ServingWebsites/SslCert (last edited 2022-01-15 06:48:28 by JesseShumway)