1 用openssl 生成一个证书。
应用软件:perl、vs 2008、openssl
一。首先要生成服务器端的私钥(key文件):
openssl genrsa -des3 -out 1024
二.生成一个证书请求。
openssl req -new -key -out
openssl req -new -nodes -key -out
利用前面生成的密钥文件,这里生成一个新的文件即一个证书请求文件,拿着这个文件去数字证书颁发机构(ca)申请一个数字证书,ca会给一个新的文件也就是数字证书。
三.自己制作证书,申请机构和颁发机构都是自己,使用下面命令可以生成证书:
openssl req -new -x509 -key -out -days 1095
这个命令将用上面生成的密钥生成一个数字证书。
利用openssl建立自己的ca过程如下。
1) 环境准备。
2) 首先,需要准备一个目录放置ca文件,包括颁发的证书和crl(certificate revoke list)。这里选择目录 /var/myca。然后在/var/myca下建立两个目录,certs用来保存ca颁发的所有的证书的副本;private用来保存ca证书的私钥匙。
除了生成钥匙,在我的ca体系中还需要创建三个文件。第一个文件用来跟踪最后一次颁发的证书的序列号,命名为serial,初始化为01。第二个文件是一个排序数据库,用来跟踪已经颁发的证书。
命名为文件内容为空。
mkdir /var/myca
cd /var/myca
mkdir certs private
chmod g-rwx,o-rwx private
echo "01" >serial
touch
第三个文件是openssl的配置文件。示例如下:
touch
文件内容如下:
[ ca ]
default_ca = myca
myca ]
dir = var/myca
certificate = dir/
database = dir/
new_certs_dir = dir/certs
private_key = dir/private/
serial = dir/serial
default_crl_days= 7
default_days = 365
default_md = md5
policy = myca_policy
x509_extensions = certificate_extensions
myca_policy ]
commonname = supplied
stateorprovincename = supplied
countryname = supplied
emailaddress = supplied
organizationname= supplied
organizationalunitname = optional
certificate_extensions ]
basicconstraints= ca:false
我们需要告诉openssl配置文件的路径,有两种方法可以达成目的:通过config命令选项;通过环境变量openssl_conf。这里我们选择环境变量的方式。
openssl_conf=/var/myca/"
export openssl_conf
2) 生成根证书 (root certificate)需要一个证书来为自己颁发的证书签名,这个证书可从其他ca获取,或者是自签名的根证书。这里生成一个自签名的根证书。首先往配置文件里面添加一些信息,如下所示,节名和命令行工具的命令req一样。
把所有必要的信息都写进配置,而不是在命令行输入,这是唯一指定x.509v3扩展的方式。[ req ]
default_bits = 2048
default_keyfile = var/myca/private/
default_md = md5
prompt = no
distinguished_name = root_ca_distinguished_name
x509_extensions = root_ca_extensions
root_ca_distinguished_name ]
commonname = my test ca
stateorprovincename = hz
countryname = cn
emailaddress =
organizationname = root certification authority
root_ca_extensions ]
basicconstraints = ca:true
万事俱备,接着生成根证书了。注意设置好环境变量openssl_conf。
openssl req -x509 -newkey rsa -out -outform pem -days 356
注:“-days 356“控制有效期限为365天,默认为30天。
验证一下生成的文件。
openssl x509 -in -text -noout
3) 给客户颁发证书。
在给客户颁发证书之前,需要客户提供证书的基本信息。开启一个终端窗口,使用默认的openssl配置文件(不要让之前的openssl_conf干扰我们,那个配置是专门用来生成根证书的)。命令和生成根证书的类似,都是req,不过需要提供一些额外的信息。
如下:openssl req -newkey rsa:1024 -keyout -keyform pem -out -outform pem
有两次提示要口令,第一次的口令用来加密私钥匙第二次口令一般被openssl忽略。
结果生成两个文件:私钥匙;请求信息,其中包括公钥匙。
openssl req -in -text –noout 查看信息。
openssl ca -in
有三次提示,一次是询问ca的私钥匙密码,两次是确认,输出的结果就是为客户颁发的证书。可以通过batch选项取消命令提示,可通过notext选项取消证书的输出显示。此外,还可以一次给多个客户颁发证书,方法是用 infiles选项替换in选项,不过这个选项必须放在最后,因为此后的任何字符均被处理为文件名称列表生成的证书放在certs目录,同时和serial的内容都发生了改变。
生物技术进展作业
四 前景展望 由于基因工程运用dna分子重组技术,能够按照人们预先的设计创造出许多新的遗传结合体,具有新奇遗传性状的新型产物,增强了人们改造动植物的主观能动性 预见性。而且在人类疾病的诊断 等方面具有革命性的推动作用,对人口素质 环境保护等作出具大贡献。所以,各国 及一些大公司都十分重视基因工程技术...
信息技术与信息安全
尊敬的委员长 各位副委员长 秘书长 各位委员 信息技术深刻影响人们的生产和生活方式,特别是近年来,以移动互联网 云计算 大数据 物联网为代表的新一代信息技术快速发展,对经济社会各领域正在产生革命性影响。信息技术既为发展带来难得的机遇,也对安全带来严峻挑战,信息技术与信息安全已经成为现代社会发展必须要...
信息安全技术作业
信息安全技术第五次作业。谈谈你对信息安全课的收获和建议 通过本学期信息安全技术课程的学习,我对信息安全的各个层面的概念和内涵有了系统深入的了解。首先通过老师对相关背景知识的介绍,我了解了信息安全的一些基础知识,比如信息安全的分类 各种威胁 体系结构等等,为后面的学习奠定了基础 在学习密码学时,我认识...