假设需要使用ssl的服务;

制作签署证书的CA;

在对应服务主目录下生成密钥、签发请求;

签发证书;

____________________________________________

架设服务

(略)


作CA

vi /etc/pki/tls/openssl.conf

openssl genrsa 1024 > cakey.pem

chmod 600 cakey.pem

cp cakey.pem /etc/pki/CA/private/cakey.pem

openssl req -new -x509 -key cakey.pem -out CA.crt -days 36500

cp CA.crt /etc/pki/CA/cacert.pem

touch /etc/pki/CA/index.txt

touch /etc/pki/CA/serial

echo 01 >> /etc/pki/CA/serial

cd /etc/pki/CA

mkdir crl certs newcerts


生成密钥、生成签发请求

openssl genrsa 1024 > ftps.key

openssl genrsa 1024 > https.key

openssl genrsa 1024 > imaps.key

openssl genrsa 1024 > pop3s.key

openssl genrsa 1024 > smtps.key


openssl req -new -key ftps.key -out ftps.csr

openssl req -new -key https.key -out https.csr

openssl req -new -key imaps.key -out imaps.csr

openssl req -new -key pop3s.key -out pop3s.csr

openssl req -new -key smtps.key -out smtps.csr


签发证书

openssl ca -in ftps.csr -out ftps.crt

openssl ca -in https.csr -out https.crt

openssl ca -in imaps.csr -out imaps.crt

openssl ca -in pop3s.csr -out pop3s.crt

openssl ca -in smtps.csr -out smtps.crt


ls *.crt

cat *.crt


Old


# apt-get install openssl        (debian)

# yum install openssl            (centos)

# emerge openssl                (gentoo)


# cd openssl-1.0.1e

# ./configure --prefix=/usr/local/openssl

# cd /usr/local/openssl

# find . -name CA*

# ln /usr/loca..../CA.sh /sbin/ca

# chmod 755 /sbin/ca

================================


生成密钥(rsa 密钥)

生成非对称密码对之私钥

    # openssl genrsa -out server.key

生成私钥的公钥

    # openssl rsa -in server.key -pubout -out server.pub

查看私钥

    # openssl rsa -in server.key

查看公钥

    # openssl rsa -in server.key -pubout

使用已创建的RSA密钥文件创建一个自签名的X509证书

    # openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt



生成证书

# openssl genrsa -out hhh.key

    生成密钥    wKiom1ON6BOggsX1AAAUOX1hbpg110.jpg

# openssl req -new -key hhh.key -out hhh.csr

    生成证书    wKioL1ON6E7jQ4cQAAAXYRUg1PQ019.jpg

    “证书签署请求CSR”

# openssl ca -in client.csr -out client.crt

    签发证书

# openssl x509 -req -days 365 -in hhh.csr -signkey hhh.key -out hhh.crt

    生成x509自签名证书



翻译来自:                                              

http://www.openssl.org/docs/HOWTO/


----------------------------密钥----------------------------

    密钥,成对出现,一个私钥、一个公钥。私钥包含公钥信息,因此没有必要单独创建对应的公钥。创建证书最流行的算法是 RSA & DSA。


    创建 RSA 密钥;用途:加密、签名

# openssl genrsa -des3 -out privkey.pem 2048

如果需要去掉密码加密,去掉选项 “-des3”。

# openssl rsa -in privkey.pem

# openssl rsa -in privkey.pem -pubout


    创建 DSA 密钥;用途:仅仅用来签名

    DSA 加密算法的密钥创建分两步:生成一个参数,依据该参数生成密钥。

# openssl dsaparam -out dsaparam.pem 2048

# openssl gendsa -des3 -out privkey.pem dsaparam.pem

可以使用同一参数文件,创建多个密钥

# openssl dsa -in privkey.pem

# openssl dsa -in privkey.pem -pubout


----------------------------证书----------------------------

    得到一个证书,跟配置文件有着一定关系。要是不同的配置文件可以使用选项 “-config {file}”。证书是跟一个公钥相关联的。


    创建“认证请求”

    认证请求用来发送给某个认证机构去签名为证书。要不,就是自己拥有一个认证机构,自己完成签名。或者直接创建一个自签名证书,用于实验目的。

# openssl req -new -key privkey.pem -out cert.csr

# openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095


* 依据不同的应用,可能需要转换私钥和证书的格式。或者需要把私钥和证书和为一体。(证书格式:DER PEM)





ca_第1张图片