16 å, 2006
用OpenSSL创建自己的证书 SSL是一种基于证书的协议,任何运行SSL服务的服务器都需要自己的证书。通常为了保证通用性,我们会向证书颁发机构(Certificate Authority, 简称CA, 如VeriSign、Thawte等等)申请证书,但这需要一笔费用。对于小型组织的内部邮件服务器而言,我们完全可以使用自行建立的证书颁发机构和证书来实现我们的需求。 下面的例子中,我们约定文件名如下: 服务器的key-pair mykey.pem 服务器的CA签名证书 mycert.pem CA自己的证书 cacert.pem 注意,如果使用证书颁发机构发行的证书,请务必向证书颁发机构声明不要使用DES编码,否则证书将无法在sendmail中使用! 按照下面的操作创建自己的CA mkdir /usr/local/CA cd /usr/local/CA mkdir certs crl newcerts private echo “01” > serial cp /dev/null index.txt cp /etc/ssl/openssl.cnf openssl.cnf ee openssl.cnf 将光标移到38行左右,将 dir = ./demoCA # Where everything is kept 改为 dir = /usr/local/CA # Where everything is kept 接着生成CA证书 cd /usr/local/CA openssl req -new -x509 -keyout private/cakey.pem -out cacert.pem -days 1825 -config openssl.cnf 请根据自己的实际情况回答OpenSSL的问题。我们设定CA证书的有效期为5年(1825天),这能够满足一般的要求,又不致经常更新CA证书造成麻烦;也可以根据需要延长或缩短。需要注意,在提示PEM Passphrase的时候,请牢记输入的这个密码。 然后,对CA证书进行自签名,然后生成新的服务器证书。注意,服务器证书的Common Name必须是服务器的FQDN名字,如mail.frontfree.net,而不可以是mail,否则今后用户每次连接服务器的时候都会得到警告,造成不必要的困扰。 cd /usr/local/CA openssl req -nodes -new -x509 -keyout mykey.pem -out myreq.pem -days 365 -config openssl.cnf openssl x509 -x509toreq -in myreq.pem -signkey mykey.pem -out tmp.pem openssl ca -config openssl.cnf -policy policy_anything -out mycert.pem -infiles tmp.pem rm -f tmp.pem1 å, 2006
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 6.5.3 for non-commercial use <http://www.pgp.com>
mQGiBEVHDPoRBADcwjeeIwKKgsI3A7+4UKO8lLrQywbZIrwh0j94LgrA7awA+/s4
I0MkN03s7MQuCPRWMkuYflWkOK+ZaTnbggNSSfjeFwxgfaXzxXOpMAAzdTurAQjH
+tKn4py/z1/JmEyErV/gllrEKP6/Up/LwnZjIzqQLTL9RJrXdoN02c0e7wCg/5bH
aKy0gNxPy1w46M6RSW3ChecEALhjMygnUMWC+HoJAXtfPdSli0WsiK6zW57hFQwe
u6qbPei8mpSnUt+/m90fAuTFvWhGAIP6QRjuDLVzaMZTm5gi7HxsMfPfJX2QMIEl
DjRQt4aaXiwJ/89TODhex/7ehNmOXjSLqHpsR41kXy2bykfFkE4XwRxRYVrhzGgE
WoVtBADMWZTqmsoS1L46QdnI8U/Qhl2kFXobFCkld1I783G1k4/VxriTY/CyGBOJ
7g1I5znlN/+fxbJzDslk0aWx3W79VFWcjn6OdO4690VRRubOtVz9OZwc2WebLX6/
8JaaO1bl98Di5bFexw6j/zCXHiYOBdEr/DUaGIBWREwdoVwpM7QrT3V5YW5nLldl
bmZlbmcgPE91eWFuZ1dlbmZlbmdAa2luZ3NvZnQuY29tPokATgQQEQIADgUCRUcM
+gQLAQMCAhkBAAoJEJVsqqR1iM6xYvIAnA0mbgDghaOlj4pObNp7GWp5pLT5AJ0b
8ux4b1QlAn6pWDXOdUYYfVbkErkCDQRFRw0DEAgA7xYDX2v/9f7X893COnHlc178
h7Z1+sK8oG8m9QtUQe0O+AFq+4ThIRrjPExjSzllWFUMQgPuGTD7FVq+kTWOLtd2
O0tjBzI61LsCIu3dny2xRVmFRWsRJxsLztT4JWXlhi/kaZncyZdrlbW4HorVo8JR
BSniXOU4pVV725aLhApGtTEd0xbES8J7VRjnXn+ZPg+8lvyrUSvjho658or+RAAi
V4ywAwgcZaayI/0aVb7G6Gi/Ee9H35aGD9x7rQn2hx3ojQsyTAt7JN8vFeSjHAP0
P0DFjEaQ/sNZYQ1RCx6Y6LBRsVdO/794sKgw3X7EqZbMQgVe/i9NWi6Gvpu3PQAC
Agf+KfbjUsL+WdsXGbxw+krJUVuh7m3fga8PUNrv1IwqIn+VNTJ3kXQUjdPgHj5X
iD0bWMWqZ+8LvQIoYxCoGAYPxHYUAQBHQANNc3e9MR3EB5XQP85XWgFk3b4QX0L+
XPZDBwBJwULZAPX7wTYJrRw4OvSe5fQ0Abzk8ZMXqm912J5g6NEvWGKvxQojTWVT
Uj/zHSE8DTG7lVmD2TNg1yOVHt+KgSTDXnC+S9GZ+4yW6I7d2hqSpVK2DZDKvJL6
zpc4ejiveQfK6QzMHxBy56zf3rPKxu9vYo29yoEKL2ivLIGiMhGN60RlVCjbqkZw
GrWU4DqLNRCSC/JefTo2cU+MFYkARgQYEQIABgUCRUcNAwAKCRCVbKqkdYjOsfMh
AJ9DGZHYPInD53aLYRZrJH+c9Dw45wCaAngLILOpLFgQTlDFQmFwUCuD5Xs=
=MmBY
-----END PGP PUBLIC KEY BLOCK-----