搜档网
当前位置:搜档网 › Linux下OpenSSL客户端中使用req命令来生成证书的教程

Linux下OpenSSL客户端中使用req命令来生成证书的教程

Linux下OpenSSL客户端中使用req命令来生成证书的教程
Linux下OpenSSL客户端中使用req命令来生成证书的教程

Linux下OpenSSL客户端中使用req命令来生成证书的教程作者:Gordon0918 字体:[增加减小] 来源:开源中文社区时间:04-22 11:56:58?我要评论这篇文章主要介绍了Linux下OpenSSL客户端中使用req命令来生成证书的教程,详细讲解了自动生成密钥和生成自签名证书的方法,需要的朋友可以参考下

openssl req 用于生成证书请求,以让第三方权威机构CA来签发,生成我们需要的证书。req 命令也可以调用x509命令,以进行格式转换及显示证书文件中的text,modulus等信息。如果你还没有密钥对,req命令可以一统帮你生成密钥对和证书请求,也可以指定是否对私钥文件进行加密。

1、密钥、证书请求、证书概要说明

在证书申请签发过程中,客户端涉及到密钥、证书请求、证书这几个概念,初学者可能会搞不清楚三者的关系,网上有的根据后缀名来区分三者,更让人一头雾水。我们以申请证书的流程说明三者的关系。客户端(相对于CA)在申请证书的时候,大体上有三个步骤:

第一步:生成客户端的密钥,即客户端的公私钥对,且要保证私钥只有客户端自己拥有。

第二步:以客户端的密钥和客户端自身的信息(国家、机构、域名、邮箱等)为输入,生成证书请求文件。其中客户端的公钥和客户端信息是明文保存在证书请求文件中的,而客户端私钥的作用是对客户端公钥及客户端信息做签名,自身是不包含在证书请求中的。然后把证书请求文件发送给CA机构。

第三步:CA机构接收到客户端的证书请求文件后,首先校验其签名,然后审核客户端的信息,最后CA机构使用自己的私钥为证书请求文件签名,生成证书文件,下发给客户端。此证书就是客户端的身份证,来表明用户的身份。

至此客户端申请证书流程结束,其中涉及到证书签发机构CA,CA是被绝对信任的机构。如果把客户端证书比作用户身份证,那么CA就是颁发身份证的机构,我们以https为例说明证书的用处。

为了数据传输安全,越来越多的网站启用https。在https握手阶段,服务器首先把自己的证书发送给用户(浏览器),浏览器查看证书中的发证机构,然后在机器内置的证书中(在PC或者手机上,内置了世界上著名的CA机构的证书)查找对应CA证书,然后使用内置的证书公钥校验服

务器的证书真伪。如果校验失败,浏览器会提示服务器证书有问题,询问用户是否继续。

例如12306网站,它使用的自签名的证书,所以浏览器会提示证书有问题,在12306的网站上有提示下载安装根证书,其用户就是把自己的根证书安装到用户机器的内置证书中,这样浏览器就不会报证书错误。但是注意,除非特别相信某个机构,否则不要在机器上随便导入证书,很危险。

2、req指令说明

上一节我们看到了申请证书流程,生成密钥对我们已经知道,那么如何生成证书请求呢,req指令就该上场了,我们可以查看req的man手册,如下:

openssl req [-inform PEM|DER] [-outform PEM|DER] [-in filename] [-passin arg] [-out filename] [-passout arg] [-text] [-pubkey] [-noout] [-verify] [-modulus] [-new] [-rand file(s)] [-newkey rsa:bits][-newkey alg:file] [-nodes] [-key filename] [-keyform PEM|DER] [-keyout filename] [-keygen_engine id] [-[digest]] [-config filename] [-subj arg] [-multivalue-rdn] [-x509] [-days n] [-set_serial n][-asn1-kludge] [-no-asn1-kludge] [-newhdr] [-extensions section] [-reqexts section] [-utf8] [-nameopt] [-reqopt] [-subject] [-subj arg] [-batch] [-verbose] [-engine id]

发现其参数多而复杂,还有许多没有用到过的参数。但是在实际应用中我们使用到的参数很有限,我们根据req的基本功能来学习。

req的基本功能主要有两个:生成证书请求和生成自签名证书。其他还有一些校验、查看请求文件等功能,示例会简单说明下。参数说明如下[new/x509]

当使用-new选取的时候,说明是要生成证书请求,当使用x509选项的时候,说明是要生成自签名证书。

[key/newkey/keyout]

key和newkey是互斥的,key是指定已有的密钥文件,而newkey是指在生成证书请求或者自签名证书的时候自动生成密钥,然后生成的密钥名称有keyout参数指定。

当指定newkey选项时,后面指定rsa:bits说明产生rsa密钥,位数由bits 指定。指定dsa:file说明产生dsa密钥,file是指生成dsa密钥的参数文件(由dsaparam生成)

[in/out/inform/outform/keyform]

in选项指定证书请求文件,当查看证书请求内容或者生成自签名证书的时候使用

out选项指定证书请求或者自签名证书文件名,或者公钥文件名(当使用pubkey选项时用到),以及其他一些输出信息。

inform、outform、keyform分别指定了in、out、key选项指定的文件格式,默认是PEM格式。

[config]

参数文件,默认是/etc/ssl/https://www.sodocs.net/doc/7e14290241.html,f(ubuntu12.04),根据系统不同位置不同。该文件包含生成req时的参数,当在命令行没有指定时,则采用该文件中的默认值。

除上述主要参数外,还有许多其他的参数,不在一一叙述,有兴趣的读者可以查看req的man手册

3、req指令使用实例

(1)使用已有私钥生成证书请求

使用原有的RSA密钥生成证书请求文件,输入主体相关信息:

Locality Name (eg, city) []:BJ

Organization Name (eg, company) [Internet Widgits Pty Ltd]:BJ Organizational Unit Name (eg, section) []:BJ

Common Name (e.g. server FQDN or YOUR name) []:BJ

Email Address []:BJ

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:12345

An optional company name []:BJ

......

使用原有的RSA密钥生成证书请求文件,指定-batch选项,主体信息从配置文件读取:

$ openssl req -new -key RSA.pem -passin pass:123456 -out client.pem -subj /C=AU/ST=Some-State/O=Internet -pubkey 可以看到公钥和请求信息:

(2)自动生成密钥,生成证书请求文件

自动生成1024位RSA密钥,并生成证书请求文件:

writing new private key to 'RSA.pem'

Enter PEM pass phrase:

Verifying - Enter PEM pass phrase:

......

自动生成1024位RSA密钥,并生成证书请求文件,指定-nodes文件,密钥文件不加密:

$ openssl req -new -newkey dsa:DSA.param -out client.pem -keyout DSA.pem -batch -nodes

Generating a 1024 bit DSA private key

writing new private key to 'DSA.pem'

......

(3)生成自签名证书

生成自签名证书,与req参数一样,只需要把req修改为x509即可:

06:d1:96:bb:c8:42:ec:ef:26:73:4e:3b:2d:fa:0f:16:c2:25:

30:1b:a5:ca:35:bd:9b:dd:4b:41:d4:8b:95:3a:d4:7c:aa:8d: 0d:2d:e7:f3:95:33:d2:4a:5a:7f:a2:5d:cc:48:60:9f:ca:2d:

77:d9:ed:e9:09:f3:a1:18:96:1d:91:c6:1c:2b:7a:c1:d6:5d: 81:87:25:0d:32:6a:55:d2:89:95:c5:32:44:cc:9d:e7:68:6f: d8:80

(4)查看证书请求内容

生成证书请求:

Certificate Request:

Data:

Version: 0 (0x0)

Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd Subject Public Key Info:

Public Key Algorithm: rsaEncryption

Public-Key: (1024 bit)

Modulus:

...

Exponent: 65537 (0x10001)

Attributes:

Requested Extensions:

X509v3 Basic Constraints:

CA:FALSE

X509v3 Key Usage:

Digital Signature, Non Repudiation, Key Encipherment

Signature Algorithm: sha1WithRSAEncryption

...

subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd

(5)校验证书请求文件

指定verify指令,校验证书请求文件,其操作时提取请求文件中的公钥来验证签名信息:

4、生成证书步骤小结

Step 1. Create key (password protected)

代码如下:

openssl genrsa -des3 -out prvtkey.pem 1024/2048 (password protected)

这个命令会生成一个1024/2048位的密钥。

Step 2. Create certification request

这个命令将会生成一个证书请求,当然,用到了前面生成的密钥prvtkey.pem文件

这里将生成一个新的文件cert.csr,即一个证书请求文件,你可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。CA会给你一个新的文件cacert.pem,那才是你的数字证书。

Step 3: Send certificate request to Certification Authority (CA)

如果是自己做测试,那么证书的申请机构和颁发机构都是自己。就可以用下面这个命令来生成证书:

这个命令将用上面生成的密钥privkey.pem生成一个数字证

书cacert.pem

Openssl生成证书步骤说明

Openssl生成证书步骤说明 命令操作: 1、生成普通私钥: 2、生成带加密口令的密钥: 在生成带加密口令的密钥时需要自己去输入密码。对于为密钥加密现在提供了一下几种算 通过生成的私钥去生成证书:

在生成证书的时候需要按照提示输入一些个人信息。 通过私钥生成公钥: 格式转换:(证书、私钥、公钥)(PEM <----->DER) 从DER格式转换成PEM格式一样,就是把inform的格式改成DERoutform的格式改成PEM 即可。 服务器和客户端认证的证书生成 下面是一个服务器和客户端认证的证书、私钥生成方法:(server.crt、client.crt、ca.crt) 用默认openssl配置文件生成证书,先创建文件夹 创建文件夹demoCA/newcerts: mkdir -p demoCA/newcerts 创建个空文件index.txt: touch demoCA/index.txt 向文件serial中写入01: echo 01 > demoCA/serial 1.首先要生成服务器端的私钥(key 文件): openssl genrsa -des3 -out server.key 1024 运行时会提示输入密码,此密码用于加密key 文件(参数des3 便是指加密算法,当然也可以选用其他你认 为安全的算法.),以后每当需读取此文件(通过openssl 提供的命令或API)都需输入口令.如果觉得不方 便,也可以去除这个口令,但一定要采取其他的保护措施!

去除key 文件口令的命令: openssl rsa -in server.key -out server.key 2.openssl req -new -key server.key -out server.csr 生成Certificate Signing Request(CSR),生成的csr 文件交给CA 签名后形成服务端自己的证书. 屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可. 3.对客户端也作同样的命令生成key 及csr 文件: openssl genrsa -des3 -out client.key 1024 openssl req -new -key client.key -out client.csr 4.CSR 文件必须有CA 的签名才可形成证书.可将此文件发送到verisign 等地方由它验证,要交一大笔钱, 何不自己做CA 呢. openssl req -new -x509 -keyout ca.key -out ca.crt 5.用生成的CA 的证书为刚才生成的server.csr,client.csr 文件签名: openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key 现在我们所需的全部文件便生成了. 另: client 使用的文件有:ca.crt,client.crt,client.key server 使用的文件有:ca.crt,server.crt,server.key .crt 文件和.key 可以合到一个文件里面,本人把2 个文件合成了一个.pem 文件(直接拷贝过去就行了)

自签名OpenSSL证书流程

自签名OpenSSL证书流程 1.首先要生成服务器端的私钥(key文件): openssl genrsa -des3 -out server.key 1024 运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施! 去除key文件口令的命令: openssl rsa -in server.key -out server.key [生成过程中提示需要输入私钥的密码,现设为111111] 2.openssl req -new -key server.key -out server.csr -config https://www.sodocs.net/doc/7e14290241.html,f 生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可. [利用私钥生成CA的证书请求,在这个过程中,按步骤提示输入各种信息,注意前面国家、州等信息和以后生成客户端.csr文件等,需要填入的信息时,需要保持一致,否则验证会通不过] Country Name(只能填2个字母) : cn State or Province Name : sz Locality Name : ns Organization Name : vc Organization Unit Name : odc Common Name : rome Email Address : rome80@https://www.sodocs.net/doc/7e14290241.html,(邮箱名可以不一样,可以区别不同的证书) 其中有一个A challenge password,不知道做什么用,填111111 An optional company name : milano -config https://www.sodocs.net/doc/7e14290241.html,f是配置文件信息 在生成.csr和证书的.crt时,都要填入上述信息 3.对客户端也作同样的命令生成key及csr文件: openssl genrsa -des3 -out client.key 1024 openssl req -new -key client.key -out client.csr -config https://www.sodocs.net/doc/7e14290241.html,f 4.openssl genrsa -des3 -out ca.key 1024 [这步是自己加上去的,先生成ca的私钥]

查看linux 下已经安装的软件包

查看linux 下已经安装的软件包 RPM使用详解在Linux 操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他LinuxRPM使用详解 在Linux 操作系统中,有一个系统软件包,它的功能类似于Windows 里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux 使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就给大家介绍一下它的具体使用方法。 1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看: rpm -qpi Linux-1.4-6.i368.rpm 系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。

2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择: rpm -qpl Linux-1.4-6.i368.rpm 3. 选择安装方式后,开始安装。我们可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在-ivh后加一参数“-replacepkgs”: rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm 4.有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>;命令即可。 5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>;,注意:此时的文件名必须是要升级软件的升级补丁

Linux下利用openssl 生成SSL证书步骤

Linux下利用openssl 生成SSL证书步骤 1、概念 首先要有一个CA根证书,然后用CA根证书来签发用户证书。 用户进行证书申请:一般先生成一个私钥,然后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA根证书来签发证书。 2、后缀详解 .key格式:私有的密钥 .csr格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request 的缩写 .crt格式:证书文件,certificate的缩写 .crl格式:证书吊销列表,Certificate Revocation List的缩写 .pem格式:用于导出,导入证书时候的证书的格式,有证书开头,结尾的格式 3、添加 index.txt 和 serial 文件 cd /etc/pki/CA/ touch /etc/pki/CA/index.txt touch /etc/pki/CA/serial echo 01 > /etc/pki/CA/serial 4、CA根证书的生成 4.1 生成CA私钥(.key) openssl genrsa -out ca.key 2048 [root@CA]# openssl genrsa -out ca.key 2048 Generating RSA private key, 2048 bit long modulus .............+++ .....+++ e is 65537 (0x10001) 4.2 生成CA证书请求(.csr) openssl req -new -key ca.key -out ca.csr [root@CA]# openssl req -new -key ca.key -out ca.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value,

使用OpenSSL建立根CA及自签名证书制作过程

使用OpenSSL建立根CA及自签名证书制作过程 2009-12-24 11:35:32| 分类:openssl |字号订阅 Openssl版本:0.9.8 版本,可从https://www.sodocs.net/doc/7e14290241.html,处下载。 1.先建立如下目录结构: $home/testca # testca 是待建CA的主目录 ├─newcerts/ # newcerts子目录将存放CA签发过的数组证书(备份目录) ├─private/ # private目录用来存放CA私钥 └─conf/ # conf目录用来存放简化openssl命令行参数用的配置文件 此外使用命令 echo "01" > serial touch index.txt 在ca根目录下创建文件serial (用来存放下一个证书的序列号) 和indext.txt (证书信息数据库文件)。 1.生成CA的私钥和自签名证书 (根证书) 创建配置文件:vi "$HOME/testca/conf/gentestca.conf" 文件内容如下: #################################### [ req ] default_keyfile = /home/cx/testCA/private/cakey.pem default_md = md5 prompt = no

distinguished_name = ca_distinguished_name x509_extensions = ca_extensions [ ca_distinguished_name ] organizationName = ss organizationalUnitName = sstc commonName = sstcCA emailAddress = GChen2@https://www.sodocs.net/doc/7e14290241.html, #自己的邮件地址 [ ca_extensions ] basicConstraints = CA:true ######################################## 然后执行命令如下: cd "$HOME/testca" openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 2190 -config "$HOME/testca/conf/gentestca.conf" 执行过程中需要输入CA私钥的保护密码,假设我们输入密码: 888888 可以用如下命令查看一下CA自己证书的内容 openssl x509 -in cacert.pem -text –noout 创建一个配置文件,以便后续CA日常操作中使用 vi "$HOME/testca/conf/testca.conf"

Linux 操作系统查看服务器系统信息命令(linux系统)

Linux 操作系统查看服务器系统信息命令(linux 系统系统: # uname -a # 查看内核 /操作系统 /CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看 CPU 信息 # hostname # 查看计算机名 # lspci -tv # 列出所有 PCI 设备 # lsusb -tv # 列出所有 USB 设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 : # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名 > # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载 磁盘和分区 :

# mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数 (仅适用于 IDE 设备 # dmesg | grep IDE # 查看启动时 IDE 设备检测状况 网络 : # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息 用户 : # w # 查看活动用户 # id <用户名 > # 查看指定用户信息 # last # 查看用户登录日志 # cut -d: -f1 /etc/passwd # 查看系统所有用户 # cut -d: -f1 /etc/group # 查看系统所有组 # crontab -l # 查看当前用户的计划任务

查看linux下mysql版本号命令

查看linux下mysql版本号命令 1:在终端下:mysql -V。以下是代码片段: [shengting@login ~]$ mysql -V mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686) 2:在mysql中:mysql> status; 以下是代码片段: mysql> status; -------------- mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686) Connection id: 416 SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 3.23.56-log Protocol version: 10 Connection: Localhost via UNIX socket Client characterset: latin1 Server characterset: latin1 UNIX socket: /tmp/mysql_3311.sock Uptime: 62 days 21 hours 21 min 57 sec Threads: 1 Questions: 584402560 Slow queries: 424 Opens: 59664208 Flush tables: 1 Open tables: 64 Queries per second avg: 107.551 3:在help里面查找 以下是代码片段: [shengting@login ~]$ mysql --help | grep Distrib mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686) 4:使用mysql的函数 以下是代码片段:

如何查询centos查看系统内核版本,系统版本,32位还是64位

【转】如何查询centos查看系统内核版本,系统版本,32位还是64位 查看centos内核的版本: 1)[root@localhost ~]# cat /proc/version Linux version 2.6.18-194.el5 (mockbuild@https://www.sodocs.net/doc/7e14290241.html,) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:14 EDT 2010 2) [root@localhost ~]# uname -a Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux 3) [root@localhost ~]# uname -r 2.6.18-194.el5 2. 查看linux版本: 1) 列出所有版本信息, [root@localhost ~]# lsb_release -a LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics -3.1-ia32:graphics-3.1-noarch Distributor ID: CentOS Description: CentOS release 5.5 (Final) Release: 5.5 Codename: Final 注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。 2) 执行cat /etc/issue,例如如下: [root@localhost ~]# cat /etc/issue CentOS release 5.5 (Final) Kernel r on an m 3) 执行cat /etc/redhat-release ,例如如下: [root@localhost ~]# cat /etc/redhat-release CentOS release 5.5 (Final) 查看系统是64位还是32位: 1、getconf LONG_BIT or getconf WORD_BIT [root@localhost ~]# getconf LONG_BIT 64 2、file /bin/ls [root@localhost ~]# file /bin/ls /bin/ls: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped 3、lsb_release -a [root@localhost ~]# lsb_release -a

OpenSSL证书制作过程

比亚迪培训讲义 在J2EE中使用数字证书 深圳市金蝶中间件有限公司 2007年12月

Table of Contents 1 数字证书使用的场合 (3) 2 数字证书的颁发 (3) 2.1 概述 (3) 2.2 创建自签名CA (3) 2.2.1 生成ca私钥 (3) 2.2.2 生成ca待签名证书 (4) 2.2.3用CA私钥进行自签名,得到自签名的CA根证书 (4) 2.2.4 https://www.sodocs.net/doc/7e14290241.html,f配置文档 (5) 2.3 颁发服务器证书 (7) 2.3.1 生成服务器私钥对及自签名证书 (7) 2.3.2 生成服务器待签名证书 (7) 2.3.3 请求CA签名服务器待签名证书,得到经CA签名的服务器证书 (8) 2.3.4把CA根证书导入密钥库 mykeystore (8) 2.3.5把经过CA签名的服务器证书导入密钥库mykeystore (8) 2.4 颁发客户端证书 (9) 2.4.1 生成客户端私钥 (9) 2.4.2生成客户端待签名证书 (9) 2.4.3请求CA签名客户端待签名证书,得到经CA签名的客户端证书 (10) 生成客户端的个人证书client.p12 (10) 2.5 CA根证书导入客户端 (11) 2.6个人证书导入客户端 (11) 3 在J2EE中使用证书 (11) 3.1 配置SSL双向认证 (11) 3.1.1 服务器端密钥库和信任库 (12) 3.1.2修改Muxer服务 (12) 3.1.3修改SecurityService服务 (13) 3.2 在程序中获取证书信息 (13) 4 练习 (13) 5 附录 (14) 5.1 SSL v3的处理步骤 (14) 5.2 命令行调试SSL证书 (14)

查看linux系统版本,内核,CPU,MEM,位数的相关命令

查看linux系统版本,内核,CPU,MEM,位数的相关命令 1.查看版本,内核 [oracle@svr15 ~]$ cat /etc/issue Red Hat Enterprise Linux AS release 4 (Nahant) Kernel \r on an \m [oracle@svr15 ~]$ cat /proc/version Linux version 2.6.9-5.ELsmp (bhcompile@https://www.sodocs.net/doc/7e14290241.html,) (gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)) #1 SMP Wed Jan 5 19:30:39 EST 2005 [oracle@svr15 ~]$ uname -r 2.6.9-5.ELsmp 2.查看cpu,mem [oracle@svr15 ~]$ grep "model name" /proc/cpuinfo model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz [oracle@svr15 ~]$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz stepping : 6 cpu MHz : 1995.006 cache size : 64 KB physical id : 0 siblings : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes

如何查看linux版本

如何查看linux版本 如何得知自己正在使用的Linux是什么版本呢,下面的几种方法将给你带来答案! 1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version Linux version 2.6.9-22.ELsmp (bhcompile@https://www.sodocs.net/doc/7e14290241.html,) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005 2) [root@q1test01 ~]# uname -a Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux 3) [root@q1test01 ~]# uname -r 2.6.9-22.ELsmp 2. 查看Linux版本: 1) 登录到服务器执行lsb_release -a ,即可列出所有版本信息,例如: [root@3.5.5Biz-46 ~]# [root@q1test01 ~]# lsb_release -a LSB Version: :core-3.0-amd64:core-3.0-ia32:core-3.0-noarch:graphics-3.0-amd64:graphics-3. 0- ia32:graphics-3.0-noarch Distributor ID: RedHatEnterpriseAS Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 2) Release: 4

利用openSSL实现SSl双向认证学习笔记

SSl双向认证学习笔记 2010-09-02 13:16:39| 分类:ssl | 标签:|字号大中小订阅 url]https://www.sodocs.net/doc/7e14290241.html,/sunyujia/archive/2008/10/03/3014667.aspx[/url] [url]https://www.sodocs.net/doc/7e14290241.html,/nataka/archive/2005/09/03/470539.aspx[/url] [url]https://www.sodocs.net/doc/7e14290241.html,/thread-743287-1-1.html[/url] 第一节基础知识 最近要做一个SSL的应用,先后了解了两个命令,一个是keytool,一个是openssl。keytool是JDK得集成环境 。只要安装了JDK,基本上都会有(^_^,除非你安装太老的!),我用的1.5。在安装openssl的时候,花了半天时间 。 用SSL进行双向身份验证意思就是在客户机连接服务器时,链接双方都要对彼此的数字证书进行验证,保证这 是经过授权的才能够连接(我们链接一般的SSL时采用的是单向验证,客户机只验证服务器的证书,服务器不验证客户 机的证书。而连接网上银行时使用的U盾就是用来存储进行双向验证所需要的客户端证书的)。 JDK工具KEYTOOL -genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥 、私钥和证书 -alias 产生别名 -keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中 -keyalg 指定密钥的算法 -validity 指定创建的证书有效期多少天 -keysize 指定密钥长度 -storepass 指定密钥库的密码 -keypass 指定别名条目的密码 -dname 指定证书拥有者信息例如:"CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn" -list 显示密钥库中的证书信息keytool -list -v -keystore 别名-storepass .... -v 显示密钥库中的证书详细信息 -export 将别名指定的证书导出到文件keytool -export -alias 别名-file 文件名.crt -file 参数指定导出到文件的文件名 -delete 删除密钥库中某条目keytool -delete -alias 别名-keystore sage -keypasswd 修改密钥库中指定条目口令keytool -keypasswd -alias 别名-keypass .... -new .... -storepass ... -keystore 别名 -import 将已签名数字证书导入密钥库keytool -import -alias 别名-keystore 证书名-file 文件名 (可以加.crt 后缀) 命令: 生成证书 keytool -genkey -keystore 文件名(可包含路径) -keyalg rsa -alias 别名-validity 有效期 查看证书 keytool -list -v -keystore 路径 把证书导出到文件 keytool -export -alias 别名-keystore 证书名-rfc -file 文件名(可包含路径) 修改密码 keytool -keypasswd -alias 别名-keypass 旧密码-new 新密码 导出证书到新的TrustStore keytool -import -alias 别名-file 文件名-keystore truststore 此处省略3000字,待补^_^

OpenSSL 命令常用证书操作

在OpenSSL开发包中,包含一个实用工具:openssl,比如我用MinGW GCC 编译OpenSSL 0.9.8k 后,openssl 就保存在out目录下。openssl 工具是完成密钥、证书操作和其它SSL 事务的入口环境,直接运行不带参数的openssl 命令后,可以得到一个shell 环境,在其中可以以交互的方式完成SSL 相关的安全事务。 不过有时,如果用一个带参数选项的openssl 命令完成操作,会更方便。下面是我使用openssl 做证书操作时,记录的常用命令用法。 1.生成密钥 生成RSA密钥,保存在file.key中,命令如下: 上面命令的含义是:产生RSA密钥,包括:私钥和公钥两部分,然后使用DES3算法,用用户输入的密码(passphrase)加密该密钥数据,保存在file.key中。 file.key默认以BASE64方式编码密钥数据,file.key的格式称为:PEM (Privacy Enhanced Mail)格式,在RFC 1421到RFC 1424中定义,PEM是早期用来进行安全电子邮件传输的标准,但现在广泛用在证书、证书请求、PKCS#7对象的存储上,所以证书文件也经常以.pem为扩展名。 2.不加密的密钥 如果在生成密钥时,使用了-des3等加密选项,则会生成被用户密码保护的加密密钥,以增强密钥数据的保密性(因为密钥文件中包含私钥部分)。但有时为了方便,需要不加密的明文密钥(这样安全性会降低),比如:使用

Apache的HTTPS服务,每次启动Apache服务时,都需要用户输入保护密钥的密码,感觉麻烦的话,可以使用明文密钥。 明文密钥可以使用不带-des3等加密选项的openssl命令生成,还可以使用以下命令将加密保护的密钥转换成明文密钥,当然转换过程需要用户输入原来的加密保护密码: 3.查看密钥 查看保存在file.key中的RSA密钥的细节,如果此文件是加密保护的,会提示用户输入加密此文件的密码,命令如下: 输出的内容均是RSA密钥数据的数学信息(模数、指数、质数等),从输出的结果中也可知file.key保存的RSA密钥数据包括:私钥和公钥两部分。 该命令也能查看其它工具生成的密钥,比如SSH,只要密钥文件符合openssl支持的格式。 4.生成证书请求 由file.key产生一个证书请求(Certificate Request),保证在file.csr 中,命令如下: 指定时,默认会访问Unix格式的默认路径:/usr/local/ssl/https://www.sodocs.net/doc/7e14290241.html,f。 创建证书请求时,会要求用户输入一些身份信息,示例如下:

Linux查看系统命令

系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名> # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载# cat /proc/loadavg # 查看系统负载 磁盘和分区 # mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况 网络 # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息 进程 # ps -ef # 查看所有进程 # top # 实时显示进程状态 用户

OpenSSL来制作证书,在IIS中配置HTTPS(SSL)笔记

info@https://www.sodocs.net/doc/7e14290241.html, 使用OpenSSL来制作证书,在IIS中配置HTTPS(SSL)笔记 下载Win32编译的openssl版本0.9.8e. 1.获取IIS证书请求:打开IIS,右键单击【默认网站】,在【目录安全性】选项卡中点击【服务器证书】按钮,【下一步】,【新建证书】,【现在准备证书请求--下一步】,输入【名称】,输入【单位】和【部门】,输入【公用名称】,选择【国家】并输入【省】和【市县】并【下一步】,【下一步】,【下一步】,【完成】,IIS的证书请求已经获取,就是C:\certreq.txt。这里请牢记输入的信息。 2.准备openssl工作环境:把openssl(编译后的版本)解压到D:\OpenSSL-0.9.8e\下, 在bin目录下建立目录demoCA,在demoCA下建立private和newcerts目录, 并新建index.txt,内容为空 如果没有serial文件,则到openssl网站上下载openssl的源文件,解压后,到apps\demoCA下,拷贝serial文件过来,两个目录两个文件都放到新建的 demoCA下。 3.生成自签名根证书: openssl req -x509 -newkey rsa:1024 -keyout ca.key -out ca.cer -days 3650 -config D:\OpenSSL-0.9.8e\https://www.sodocs.net/doc/7e14290241.html,f PEM pass phrase: password // 根证书私钥密码 Verifying - Enter PEM pass phrase: password Country Name: CN // 两个字母的国家代号 State or Province Name: HB // 省份名称 Locality Name: WUHAN // 城市名称 Organization Name: Skyworth TTG // 公司名称 Organizational Unit Name: Service // 部门名称 Common Name: https://www.sodocs.net/doc/7e14290241.html, // 你的姓名(要是生成服务器端的证书一定要输入域名或者ip地址) Email Address: admin@https://www.sodocs.net/doc/7e14290241.html, // Email地址

linux查看驱动版本

Linux下查看驱动版本以及硬件信息 2009-05-13 09:58 lsmod 看看你要查看的驱动模块名字,例如100M网卡e100 modinfo e100 则会出现相关的版本信息 常用命令整理如下: 用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart) 查看CPU信息:cat /proc/cpuinfo 查看板卡信息:cat /proc/pci 查看PCI信息:lspci (相比cat /proc/pci更直观) 查看内存信息:cat /proc/meminfo 查看USB设备:cat /proc/bus/usb/devices 查看键盘和鼠标:cat /proc/bus/input/devices 查看系统硬盘信息和使用情况:fdisk & disk - l & df 查看各设备的中断请求(IRQ):cat /proc/interrupts 查看系统体系结构:uname -a dmidecode查看硬件信息,包括bios、cpu、内存等信息 dmesg | more 查看硬件信息 对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:Cpuinfo 主机CPU信息 Dma 主机DMA通道信息 Filesystems 文件系统信息 Interrupts 主机中断信息 Ioprots 主机I/O端口号信息 Meninfo 主机内存信息 Version Linux内存版本信息 另外我们还可以使用hardinfo 这个软件来查看硬件信息。

通常,linux系统启动的时候当加载网卡的时候,会产生一条日志信息写道/var/log/messages或者dmesg里面,这里面就有比较详细的网卡信息,包括版本号码等。 对于网卡: 用ethtool -i ethX可以查询该网络设备的版本信息 包括driver版本信息和firmware版本信息 用此命令也能看到总线信息和该设备所用的driver模块名称 假定该网卡使用的驱动模块是intel的e1000 再用modinfo e1000就可看到该driver模块的详细信息 查看网卡属性:ethtool -g eth0;查看网卡信息:dmesg

linux下利用openssl来实现证书的颁发(详细步骤)

linux下利用openssl来实现证书的颁发(详细步骤) 1、首先需要安装openssl,一个开源的实现加解密和证书的专业系统。在centos下可以利用yum安装。 2、openssl的配置文件是https://www.sodocs.net/doc/7e14290241.html,f,我们一般就是用默认配置就可以。如果证书有特殊要求的话,可以修改配置适应需求。这样必须把相关的文件放到配置文件指定的目录下面。 3、首先需要利用openssl生成根证书,以后的服务器端证书或者客户端证书都用他来签发,可以建立多个根证书,就像对应不同的公司一样 #生成根证书的私钥 openssl genrsa -out /home/lengshan/ca.key #利用私钥生成一个根证书的申请,一般证书的申请格式都是csr。所以私钥和csr一般需要保存好openssl req -new -key /home/lengshan/ca.key -out /home/lengshan/ca.csr #自签名的方式签发我们之前的申请的证书,生成的证书为ca.crt openssl x509 -req -days 3650 -in /home/lengshan/ca.csr -signkey /home/lengshan/ca.key -out /home/lengshan/ca.crt #为我们的证书建立第一个序列号,一般都是用4个字符,这个不影响之后的证书颁发等操作 echo FACE > /home/lengshan/serial #建立ca的证书库,不影响后面的操作,默认配置文件里也有存储的地方 touch /home/lengshan/index.txt #建立证书回收列表保存失效的证书

用Keytool和OpenSSL生成和签发数字证书

4.2.1 建立工作目录 demoCA 4.2.2 生成CA私钥以及自签名根证书 4.2.2.1 生成CA私钥 openssl genrsa -out demoCA\ca-key.pem 1024 4.2.2.2 生成待签名证书 openssl req -new -out demoCA\ca-req.csr -key demoCA\ca-key.pem 4.2.2.3 用CA私钥进行自签名 openssl x509 -req -in demoCA\ca-req.csr -out ca\ca-cert.pem -signkey demoCA\ca-key.pem -days 365 4.3 设置Tomcat 4.x 在本文中用符号"%JDK_HOME%"来表示JDK的安装位置,用符号"%TCAT_HOME%" 表示Tomcat的安装位置。 4.3.1建立工作目录 mkdir server 4.3.2 生成server端证书 4.3.2.1 生成KeyPair %JDK_HOME%\bin\keytool -genkey -alias tomcat_server -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore server\server_keystore 4.3.2.2 生成待签名证书 %JDK_HOME%\bin\keytool -certreq -alias tomcat_server -sigalg MD5withRSA -file server\server.csr -keypass 123456 -keystore server\server_keystore -storepass changeit 4.3.2.3 用CA私钥进行签名

相关主题