How to have your Own CA
Creating Your Own CA
OpenCA Guide
用OpenCA构建自己的PKI
nstall OpenCA with PostgreSQL
2007年10月23日星期二
OpenSSL Command-Line HOWTO
OpenSSL Command-Line HOWTO
Paul Heinlein <heinlein@madboa.com>
Initial publication: June 13, 2004
Most recent revision: August 8, 2007
The openssl application that ships with the OpenSSL libraries can perform a wide range of crypto operations. This HOWTO provides some cookbook-style recipes for using it.
常见数字证书格式和文件扩展名
PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:
PKCS#7 Cryptographic Message Syntax Standard
PKCS#10 Certification Request Standard
PKCS#12 Personal Information Exchange Syntax Standard
X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。
PKCS#7 常用的后缀是: .P7B .P7C .SPC
PKCS#12 常用的后缀有: .P12 .PFX
X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRTX.509
PAM 编码(Base64)的后缀是: .PEM .CER .CRT
在OpenSSL的工具集中,一般可以使用 -outform -inform 指定 DER 还是 PAM 格式。
例如:
openssl x509 -in Cert.pem -inform PEM -out cert.der -outform DER
OpenSSL 中 PEM 到 PKCS#12 的转换,参考命令:
openssl pkcs12 -export -in Cert.pem -out Cert.p12 -inkey key.pem
OpenSSL 中 PKCS#12 到 PEM 的转换,可参考:
openssl pkcs12 -in Cert.p12 -out Key.pem
openssl x509 -in Key.pem -text -out Cert.pem
PKCS#7 Cryptographic Message Syntax Standard
PKCS#10 Certification Request Standard
PKCS#12 Personal Information Exchange Syntax Standard
X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。
PKCS#7 常用的后缀是: .P7B .P7C .SPC
PKCS#12 常用的后缀有: .P12 .PFX
X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRTX.509
PAM 编码(Base64)的后缀是: .PEM .CER .CRT
在OpenSSL的工具集中,一般可以使用 -outform -inform 指定 DER 还是 PAM 格式。
例如:
openssl x509 -in Cert.pem -inform PEM -out cert.der -outform DER
OpenSSL 中 PEM 到 PKCS#12 的转换,参考命令:
openssl pkcs12 -export -in Cert.pem -out Cert.p12 -inkey key.pem
OpenSSL 中 PKCS#12 到 PEM 的转换,可参考:
openssl pkcs12 -in Cert.p12 -out Key.pem
openssl x509 -in Key.pem -text -out Cert.pem
2007年9月21日星期五
安装subversion
apt-get update
安装apache2
apt-get install apache2
安装subversion
apt-get install libapache2-svn subversion
创建目录
mkdir /home/svn
创建项目
svnadmin create /home/svn/foo
由于要用apache2来提供服务, 更改目录权限
chown www-data.www-data /home/svn/foo -R
配置apache2
/etc/apache2/mods-available/dav_svn.conf
//表示svn仓库位于/svn虚拟目录下面,意思是版本库的URL是http://MyServer/svn/
DAV svn //表示dav启用svn支持
SVNParentPath /home/svn //表示使用SVNParent方式,并且仓库的物理路径为/home/svn
AuthType Basic //激活基本认证,就是用户名/密码
AuthName "Subversion Repository" //用来说明何时弹出要求用户输入认证信息的认证对话框
AuthUserFile /etc/apache2/dav_svn.passwd //表示用户认证文件是/etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz ////表示用户权限文件是 /etc/apache2/dav_svn.authz
#
Require valid-user //指定只有输入了正确的用户/密码的用户可以访问URL
#
如果你希望所有人可以读你的版本库,但是只有特定用户可以写,你可以修改下面几行
Require valid-user
to
Require valid-user
配置访问权限
/etc/apache2/dav_svn.authz(/etc/apache2/mods-available/dav_svn.conf指定的)
[foo:/]
* =
tony = rw
然后在添加用户到 /etc/apache2/dav_svn.passwd
htpasswd -c /etc/apache2/dav_svn.passwd tony
访问测试
http://localhost:81/svn/foo
现在因为我们还没有往svn是添加任何东西,所以我们看到的是"Revision 0: /"
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
http://man.chinaunix.net/linux/debian/debian_learning/ch09s14.html
http://mattl.co.uk/apache2subversiondebianhowto.html
http://www.howtoforge.com/apache_subversion_repository_p2
http://www.howtoforge.com/debian_subversion_websvn
生成私钥
openssl genrsa 1024 > gzjs.gov.cn.key
生成证书签署申请CSR
openssl req -new -key gzjs.gov.cn.key > gzjs.gov.cn.csr
用自己的私钥签署申请,生成证书
openssl req -x509 -key gzjs.gov.cn.key -in gzjs.gov.cn.csr > gzjs.gov.cn.crt
添加以下内容到站点配置文件
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/gzjs.gov.cn.crt
SSLCertificateKeyFile /etc/apache2/ssl/gzjs.gov.cn.key
添加一下内容
SSLRequireSSL
到/etc/apache2/mods-available/dav_svn.conf文件
重启
http://wiki.debian.org.hk/w/Generate_SSL_cert
安装apache2
apt-get install apache2
安装subversion
apt-get install libapache2-svn subversion
创建目录
mkdir /home/svn
创建项目
svnadmin create /home/svn/foo
由于要用apache2来提供服务, 更改目录权限
chown www-data.www-data /home/svn/foo -R
配置apache2
/etc/apache2/mods-available/dav_svn.conf
DAV svn //表示dav启用svn支持
SVNParentPath /home/svn //表示使用SVNParent方式,并且仓库的物理路径为/home/svn
AuthType Basic //激活基本认证,就是用户名/密码
AuthName "Subversion Repository" //用来说明何时弹出要求用户输入认证信息的认证对话框
AuthUserFile /etc/apache2/dav_svn.passwd //表示用户认证文件是/etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz ////表示用户权限文件是 /etc/apache2/dav_svn.authz
#
Require valid-user //指定只有输入了正确的用户/密码的用户可以访问URL
#
如果你希望所有人可以读你的版本库,但是只有特定用户可以写,你可以修改下面几行
Require valid-user
to
Require valid-user
配置访问权限
/etc/apache2/dav_svn.authz(/etc/apache2/mods-available/dav_svn.conf指定的)
[foo:/]
* =
tony = rw
然后在添加用户到 /etc/apache2/dav_svn.passwd
htpasswd -c /etc/apache2/dav_svn.passwd tony
访问测试
http://localhost:81/svn/foo
现在因为我们还没有往svn是添加任何东西,所以我们看到的是"Revision 0: /"
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
http://man.chinaunix.net/linux/debian/debian_learning/ch09s14.html
http://mattl.co.uk/apache2subversiondebianhowto.html
http://www.howtoforge.com/apache_subversion_repository_p2
http://www.howtoforge.com/debian_subversion_websvn
生成私钥
openssl genrsa 1024 > gzjs.gov.cn.key
生成证书签署申请CSR
openssl req -new -key gzjs.gov.cn.key > gzjs.gov.cn.csr
用自己的私钥签署申请,生成证书
openssl req -x509 -key gzjs.gov.cn.key -in gzjs.gov.cn.csr > gzjs.gov.cn.crt
添加以下内容到站点配置文件
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/gzjs.gov.cn.crt
SSLCertificateKeyFile /etc/apache2/ssl/gzjs.gov.cn.key
添加一下内容
SSLRequireSSL
到/etc/apache2/mods-available/dav_svn.conf文件
重启
http://wiki.debian.org.hk/w/Generate_SSL_cert
2007年7月12日星期四
sudo 介绍
sudoers这个文件是由一个选择性的主机别名(host alias)节区,一个选择性的指令别名(command alias)节区以及使用者说明(user specification)节区所组成的。所有的指令别名或主机别名必须需以自己的关键字作为开始(Host_Alias/Cmnd_Alias)。
使用者说明节区格式:
使用者 接取群组 [: 接取群组 ]...
接取群组 ::= 主机象征 = [op]指令象征 [,[op]指令象征]...
主机象征 ::= 一个小写的主机名称或主机别名。
指令象征 ::= 一个指令或指令别名。
op ::= 逻辑的 '!' 否定运算元。
主机别名节区格式:
Host_Alias 主机别名 = 主机列表
Host_Alias ::= 这是一个关键字。
主机别名 ::= 一个大写的别名。
主机列表 ::= 以逗号间隔的一些主机名称。
指令别名节区格式:
Cmnd_Alias 指令别名 = 指令列表
Cmnd_Alias ::= 这是一个关键字。
指令别名 ::= 一个大写的别名。
指令列表 ::= 以逗号间隔的一些指令。
保留的别名“ALL”在“{Host,Cmnd}_Alias”里都可以使用。不要用“ALL”来定义一个别名,这个别名无效。注意到“ALL”暗示全部的主机和指令。
可以使用这个语法从整个范围中减掉一些项目:
user host=ALL,!ALIAS1,!/etc/halt...
使用者说明节区格式:
使用者 接取群组 [: 接取群组 ]...
接取群组 ::= 主机象征 = [op]指令象征 [,[op]指令象征]...
主机象征 ::= 一个小写的主机名称或主机别名。
指令象征 ::= 一个指令或指令别名。
op ::= 逻辑的 '!' 否定运算元。
主机别名节区格式:
Host_Alias 主机别名 = 主机列表
Host_Alias ::= 这是一个关键字。
主机别名 ::= 一个大写的别名。
主机列表 ::= 以逗号间隔的一些主机名称。
指令别名节区格式:
Cmnd_Alias 指令别名 = 指令列表
Cmnd_Alias ::= 这是一个关键字。
指令别名 ::= 一个大写的别名。
指令列表 ::= 以逗号间隔的一些指令。
保留的别名“ALL”在“{Host,Cmnd}_Alias”里都可以使用。不要用“ALL”来定义一个别名,这个别名无效。注意到“ALL”暗示全部的主机和指令。
可以使用这个语法从整个范围中减掉一些项目:
user host=ALL,!ALIAS1,!/etc/halt...
订阅:
博文 (Atom)
