搜档网
当前位置:搜档网 › OpenSSL介绍

OpenSSL介绍

OpenSSL介绍
OpenSSL介绍

标题:【翻译】(Ubuntu文档)OpenSSL

本文档用于介绍SSL应用层协议,特别是OpenSSL对SSL的实现。举例详细介绍了在Client-Server环境下OpenSSL的使用。最后,通过例子展示了如何在Apache上使用OpenSSL以提供Https服务。

读者应熟练使用命令行,bash,修改配置文件。

OpenSSL简介:

SSL也即Secure Socket Layer,是由网景公司为了传输敏感数据而提出的协议。SSL使用私钥加密传输的数据,防止被窃听。SSL最普遍的使用适合和浏览器结合使用,但是其他很多的应用也可以使用SSL。一般而言,使用了SSL的URL以https开头。

OpenSSL是广泛使用的商业级SSL工具,由Eric A. Young和Tim J.Hudson开发的库SSLeay。

X.509是ITU-T发布的数字证书规范。它规定了确定个人或计算机系统身份确认所需的信息和属性,用于安全管理和发布英特网的数字签名证书。OpenSSL广泛应用X.509。

OpenSSL使用

安装:首先使用如下命令确定Ubuntu可用的SSL版本:

apt-cache search libssl | grep SSL

应该看到如下结果:

libssl0.9.6 - SSL shared libraries (old version)

libssl-dev - SSL development libraries, header files and documentation

libssl0.9.7 - SSL shared libraries

可能还需要安装ca-certificate.

若需要OpenSSL的通用库,还需安装libssl-dev.

基本OpenSSL命令

确定OpenSSL的版本: openssl verion

OpenSSL的可用命令: openssl help

为查找某一命令的帮助,在命令后加-h,如 openssl enc -h

列出所有可用的加密算法: openssl ciphers -v

使用openssl speed可以查看本机的openssl速度,查看每个算法美妙的加密字节数,以及sign/verify的时间

SSL证书

该部分介绍SSL证书的产生,包括用于支持SSL的服务应用的自签名和公认签名,以及用于客户程序的X.509签名。

服务器SSL证书

生成X.509证书后,有三种方式进行签名:自签名,生成CA以及由公认的CA机构签名。证书签名后,便可用于OpenSSL、连接LDAP的SSL通道以及HTTP服务器。该部分用于介绍证书的生成和签名。

生成并自签名证书

自签名证书的好处是使用方便,按需生成。当然,仅适用于封闭式的测试用途。使用自签名证书的缺点是用户的浏览器或应用,在连接使用自签名的HTTP服务器时总会报警。浏览器如firefox在默认情况下对公认可信的CA不会报警,但是在导入服务器的根证书后,也可以抑制警告。但一般而言,自签名的证书不推荐用于公共应用。(若要用于e-commerce,公认签名证书不可少哦。)

在安装了OpenSSL之后,生成X.509证书就非常简单了。对于自签名证书,首先必须建立CA:

1. 创建初始工作环境,譬如在home目录,

cd && mkdir -p myCA/signedcerts && mkdir myCA/private && cd myCA

创建并进入myCA,同时生成两个子目录 signedcerts和private

myCA用于存放CA证书,证书数据库,生成的证书,密钥以及请求

signedcerts:保存签名证书的copy

private: 包含私钥

2. 在myCA中创建证书库:

echo '01'>serial && touh index.txt

然后创建https://www.sodocs.net/doc/6952886.html,f文件。sudo nano ~/myCA/https://www.sodocs.net/doc/6952886.html,f 内容如下:

# My sample https://www.sodocs.net/doc/6952886.html,f file.

#

# Default configuration to use when one is not provided on the command line.

#

[ ca ]

default_ca = local_ca

#

#

# Default location of directories and files needed to generate certificates.

#

[ local_ca ]

dir = /home//myCA

certificate = $dir/cacert.pem

database = $dir/index.txt

new_certs_dir = $dir/signedcerts

private_key = $dir/private/cakey.pem

serial = $dir/serial

#

#

# Default expiration and encryption policies for certificates.

#

default_crl_days = 365

default_days = 1825

default_md = md5

#

policy = local_ca_policy

x509_extensions = local_ca_extensions

#

# Default policy to use when generating server certificates. The following

# fields must be defined in the server certificate.

#

[ local_ca_policy ]

commonName = supplied

stateOrProvinceName = supplied

countryName = supplied

emailAddress = supplied

organizationName = supplied

organizationalUnitName = supplied

#

#

# x509 extensions to use when generating server certificates.

#

[ local_ca_extensions ]

subjectAltName = DNS:https://www.sodocs.net/doc/6952886.html,

basicConstraints = CA:false

nsCertType = server

#

#

# The default root certificate generation policy.

#

[ req ]

default_bits = 2048

default_keyfile = /home//myCA/private/cakey.pem

default_md = md5

#

prompt = no

distinguished_name = root_ca_distinguished_name

x509_extensions = root_ca_extensions

#

#

# Root Certificate Authority distinguished name. Change these fields to match # your local environment!

#

[ root_ca_distinguished_name ]

commonName = MyOwn Root Certificate Authority stateOrProvinceName = NC

countryName = US

emailAddress = root@https://www.sodocs.net/doc/6952886.html,

organizationName = Trade Show Hell

organizationalUnitName = IT Department

[ root_ca_extensions ]

basicConstraints = CA:true

注意将/home//改成相应的内容;以及【root_ca_distinguished_name】的内容。

3. 生成CA 根证书和密钥,export OPENSSL_CONF=~/myCA/https://www.sodocs.net/doc/6952886.html,f,该命令用于给环境变量OPENSSL_CONF赋值为https://www.sodocs.net/doc/6952886.html,f。

然后,生成CA证书和密钥

openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 1825

该命令需要用户输入密钥。千万不要忘记了!每次生成并签名服务器或者用户证书的时候都需要这个密码!以上步骤生成了自签名的证书,和RSA公/私密钥对。证书的格式是PEM,有效期是1825天。

/myCA/cacert.pem: CA公开证书

/myCA/private/cakey.pem:CA私钥

续:

创建自签名服务器证书:

配置CA后,便可以对证书进行自签名。首先,你可能希望用密码短语加密证书的私钥。加密后,即使证书失窃,也可以有效保护。

使用SSL的应用启动后,必须要输入密码短语后才能使用证书。问题是,如果该服务处于无人监管的情况下,譬如当电脑重启,如果没人输入密码短语,那么web server无法使用。折中方法是:私钥可以被解密,这样服务可以自动启动。

实际生成自签名的证书,使用以下步骤:

生成服务器配置文件~/myCA/https://www.sodocs.net/doc/6952886.html,f,例子如下:

#

# https://www.sodocs.net/doc/6952886.html,f

#

[ req ]

prompt = no

distinguished_name = server_distinguished_name

[ server_distinguished_name ]

commonName = https://www.sodocs.net/doc/6952886.html,

stateOrProvinceName = NC

countryName = US

emailAddress = root@https://www.sodocs.net/doc/6952886.html,

organizationName = My Organization Name

organizationalUnitName = Subunit of My Large Organization

注意修改server_disgtinguished_name,common name必须和host name匹配,那么host/certificate不匹配,客户端程序会出错。

配置文件准备好之后,使用如下命令生成服务器证书:

export OPENSSL_CONF =~/myCA/https://www.sodocs.net/doc/6952886.html,f

该命令设置环境变量OPENSSL_CONF,使得openssl更换配置文件。

然后生成证书和密钥:

openssl req -newkey rsa:1024 -keyout tempkey.pem -keyform PEM -out tempreq.pem -outform PEM

同样的,需要输入密码短语。

然后,需要将临时私钥转换为unencrypted key。命令如下:

openssl rsa < tempkey.pem > server_key.pem

需要输入密码短语。

如果希望将key保持为加密状态,直接改名,

mv tempkey.pem server_key.pem。

现在,需要使用CA key对服务器证书签名:

export OPENSSL_CONF=~/myCA/https://www.sodocs.net/doc/6952886.html,f

openssl ca -in tempreq.pem -out server_crt.pem

删除临时证书和密码文件。

rm -f tempkey.pem && rm -f tempreq.pem

现在,自签名的服务应用证书和密钥对便产生了:

1. server_crt.pem : 服务应用证书文件

2. server_key.pem : 服务应用密钥文件

阅读应用文档,了解如何在应用中使用证书和密钥。譬如,Configuring Apache for SSL Support.

续:

X.509证书转换用户版本PKCS#12

如果需要从服务器的根CA X.509生成用户使用的PKCS#12,使用以下步骤:

下面命令生成包含证书和密钥对的文件:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

然后,下面的命令将该文件生成PKCS#12:

openssl pkcs12 -export -out mycert.pfx -in mycer.pem -name "Certificate for whatever"

会提示输入密码,可以不输。

生成的mycert.pfx文件可以被诸如浏览器、E-mail客户端的应用程序导入,因为这个证书代表了服务器的根CA 证书,所有由该CA证书前面的服务器级证书都会被安装了证书PKCS#12版本的客户应用接受。

生成由公认CA签名的证书

实际使用的譬如运行电子商务的服务器需要由公认的CA如verisign签名的证书。生成并获得CA的签名比较困难。得到签名之前有很多的paperwork,以确保信息的准确性。

如果不需要由密码短语加密的密钥,下面的命令生成私钥和证书请求:

openssl req -new -newkey rsa:1024 -nodes -keyout mykey.pem -out myreq.pem

若已有密钥,则使用以下命令:

openssl req -new -key mykey.pem -out myreq.pem

如果需要验证前面和证书请求中的信息,以下命令验证签名:

openssl req -in myreq.pem -noout -verify -key mykey.pem

信息验证使用如下命令:

openssl req -in myreq.pem -noout -text

其后的步骤一般是在CA申请表格中包含改证书请求的内容,然后等待证书。密钥文件需要好好保管,使用CA签名的证书时会需要它。

用户应用中使用证书

本部分介绍用户角度看如何在SSL链接中使用PKCS#12证书,并演示了在firefox浏览器以及e-mail客户端导入证书的过程。

在应用中导入root根证书,便可以建立与服务器的可信SSL加密的链接,而不会在乎这个证书哪里来的。在Mozilla Firefox中导入证书:

1. Firefox Edit->preference

2. 点击Advanced

3. 点击View Certificate

4. 点击Import

5. 找到certificate文件所在位置,.pfx文件

6. 选中pfx文件,点击open

7. 可能提示输入firefox的主密码,或者当场生成一个;点击OK

8. 提示输入证书的输出密码,如果没有与证书相关的密码,点击OK;否则输入,点击OK

9. 出现成功信息;

10.点击OK

11. 成功地导入了PKCS#12证书。

在邮件客户端Evolution中导入证书:

1. Eolution点击Edit>preference;

2. 点击证书;

3. 点击import;

4. 找到pfx文件;

5. 选中,打开;

6. 可能提示输入Evolution的证书数据库密码,或者设置初始密码;点击OK

7. 提出输入PKCS12文件的密码,如果没有,点击OK。

8. 在Eolution窗口可以看到证书,以及证书的详细内容;

9. 点击关闭;

10. 成功导入。

在Mozilla雷鸟中导入证书:

1. Thunderbird, 点击Edit-Preference

2. 点击Advanced

3. 点击certificate

4. 点击manage certificates

5. 点击import

6. 找到pfx文件

7. 选中文件,点击open

8. 可能提示输入thunderbird的主密码,或者设置初始密码;点击OK

9. 输入证书的导出密码;点击OK。如果没有,点击OK。

10. 成功信息出现。

11. 点击OK。

12. 成功。

在系统CA数据库中导入证书

在系统可信CA数据库中导入证书后,所有使用该库的应用都能自动使用证书:

1. copy证书到系统证书目录,在terminal输入:

sudo cp mycert.pem /usr/share/ca/certificates/mycert.crt

2. 编辑ca-certificats配置文件/etc/ca-certificates.conf. 将刚才拷贝的文件名加在#之后的第一行,如:

# This file lists certificates that you wish to use or to ignore to be

# installed in /etc/ssl/certs.

# update-ca-certificates(8) will update /etc/ssl/certs by reading this file.

#

# This is autogenerated by dpkg-reconfigure ca-certificates.

# certificates shoule be installed under /usr/share/ca-certificates

# and files with extension '.crt' is recognized as available certs.

#

# line begins with # is comment.

# line begins with ! is certificate filename to be deselected.

#

mycert.crt

https://www.sodocs.net/doc/6952886.html,.br/https://www.sodocs.net/doc/6952886.html,.br.crt

https://www.sodocs.net/doc/6952886.html,/https://www.sodocs.net/doc/6952886.html,.crt

mozilla/ABAecom_=sub.__Am._Bankers_Assn.=_Root_CA.crt

[... many additional certificates omitted ...]

如果不手动,可以使用如下命令:

sudo dpkg-reconfigure ca-certificates

3.更新CA证书数据库

sudo update-ca-certificates

4. 导入成功。

Apache配置SSL可参考Server Guide - HTTPD and Server Guide - Certificates.

其它资源如下:

本地资源:

man config

System manual page for the OpenSSL library configuration files

man gendsa

System manual page for the gendsa DSA private key generator

man genrsa

System manual page for the genrsa RSA private key generator

man openssl

System manual page for the openssl command-line tool

man rand

System manual page for the rand pseudo-random byte generator utility

man x509

System manual page for the x509 certificate display and signing utility

WWW 资源

CACert, a FREE X.509 Certificate Authority

Creating a Certificate Authority (CA)

OpenSSL Certificate Authority Setup

OpenSSL Website

Public Key Infrastructure (X.509) (pkix)

CategorySecurity CategorySecurity CategorySecurity

如今密码学中最常用的一种形式就是公钥加密。公钥加密利用密码对:公开密钥和私有密钥。公钥系统的工作原理是使用公开密钥加密,密文只能通过私钥解密。

公钥系统的一个典型应用是SSL和TLS。譬如,Apache使用https,http over ssl,虽然http本身没有提供加密服务,但是https可以实现http流量的加密。

证书用来发布服务器的公钥和其它信息,以及对该证书负责的机构的信息。证书可以由CA签名。CA是验证了证书中包含信息正确性的可信第三方机构。

证书的类型

为了搭建使用公钥系统的安全服务器,在大多数情况下,需要将证书请求(包括公钥),公司分身的证明以及相应的费用提交给CA。CA验证证书请求和身份,发回安全服务器的证书。

或者,可以生成自签名的证书。当然,商业化的服务器是不推荐使用自签名证书的。

以HTTPS为例,CA签名的证书相比自签名的证书有两个好处:

1.浏览器自动验证了证书,并开始安全会话,而不需要用户处理;

2. CA发布的证书可以保证通信服务器的身份;

大多数支持SSL的浏览器和计算机都包含默认承认的CA列表。如果浏览器发现了一个证书的发布方CA不在自己的列表,就需要用户的干预。有的应用会直接报错。

从CA获得证书的过程很简单:

1. 生成公钥/私钥对;

2. 基于公钥生成证书请求,证书请求中包含服务器和公司信息;

3. 发送请求和必要的证明给CA。并按照他们的要求填表。

4. 若CA验证信息无误,会发送证书回来;

5. 将该证书安装到安全服务器上,并进行适当的配置。

生成证书签名请求CSR(Certificate Signing Request)

不论是从CA获得证书还是自签名证书,第一步都是生成密钥。

如果证书用于服务守护进程,例如Apache,Postfix,DoveCot,密钥最好不用密码短语加密。否则,每次启动,都需要输入密码短语。下面介绍生成有密码短语加密的和不用密码短语加密的证书。并用没有加密的密钥生成证书。不用密码短语的好处是方便,但是密钥的丢失导致服务器的沦陷。

使用如下命令生成CSR密钥:

openssl genrsa -des3 -out server.key 1024

提示时,输入密码短语;最好长度为8。使用des3的时候,密码短语长度最短为4个字符,(生成rsa私钥,并用des3加密;为何只生成了私钥呢?),包含数字和/或标点,并且不是字典中的单词。密码短语大小写敏感。

生成不带密码短语的不安全密钥:

openssl rsa -in server.key -out server.key.insecure

mv server.key server.key.secure

mv server.key.insure server.key

使用server.key生成CSR:

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

提示输入密码短语,然后各种公司信息,生成server.csr文件。将该csr提交给CA处理。或者,可以使用该CSR生成自签名的证书。(这一部分内容和实验内容不符~~)

生成自签名的证书

命令:

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

安装证书

将server.key和server.crt安装到服务器上:

sudo cp server.crt /etc/ssl/certs

sudo cp server.key /etc/ssl/private

然后只需要配置应用可以使用公钥加密,使用证书和密钥文件。(不明白~~;很明显的是,应用为啥会接

受这个证书呢?另外,RSA的公钥在哪里呢?)

Certificate Authority

如果应用需要的不仅仅是自签名的证书,那么需要建立自己内部的CA。

1. 创建存放CA证书和其它文件的目录:

sudo mkdir /etc/ssl/cA

sudo mkdir /etc/ssl/newcerts

(这个也太不低调了,直接就存放在系统文件里~~)

2. CA需要文件来跟踪保存CA使用的序列号,每个证书都有唯一的序列号;以及CA发布的证书;

sudo sh -c "echo '01'>/etc/ssl/CA/serial"

sudo touch /etc/ssl/CA/index.txt

3. CA还需要一个配置文件,虽然不是必须的,但是在生成多个证书的时候会很方便。编辑/etc/ssl/https://www.sodocs.net/doc/6952886.html,f,在【CA_default】中修改:

dir = /etc/ssl/ # Where everything is kept

database = $dir/CA/index.txt # database index file.

certificate = $dir/certs/cacert.pem # The CA certificate

serial = $dir/CA/serial # The current serial number

private_key = $dir/private/cakey.pem# The private key

4. 生成自签名的根证书:

openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

会要求输入证书的各种信息

5.安装根证书和密钥

sudo mv cakey.pem /etc/ssl/private

sudo mv cacert.pem /etc/ssl/certs

6. 现在可以给证书签名了,首先需要证书签名请求CSR。有了CSR使用如下命令生成CA签名的证书:sudo openssl ca -in server.csr -config /etc/ssl./https://www.sodocs.net/doc/6952886.html,f

在输入CA密钥的密码之后,会提示证书签名,并commit该新证书。

7. 这时会有新文件/etc/ssl/newcerts/01.pem,包含同样的输出。

8. 拷贝该证书到主机,并进行配置。默认的保存证书的位置是/etc/ssl/certs。这样,多个应用就可以使用这个证书。

(感觉还是不清楚~~)

目前觉得该文档的问题很多,但是有一些基本的概念如index.txt,serial它解释的还是挺清楚的~~

Apache是Linux系统上应用最广的web服务器。应用最广的传输网页的协议HTTP,安全协议HTTPS以及FTP在Apache都有支持。

Apache常和MySql,PHP,python和perl结合使用,LAMP(Linux, Apache, MySql,php/python/perl)配置形成了强大而健壮的开发和配置平台。

安装

apache2:

audo apt-get isntall apache2

配置

apache配置通过普通文件中的指令形式实现,这些指令分别位于以下的文件和目录中:

apache2.conf: 是apache2的主配置文件,存放着apache2的全局设置;

conf.d:文件夹里的配置文件也是全局适用,其它使用apache2的服务可以添加文件或软链接到这个目录;enwars: 存放apache2的环境变量;

httpd.conf: 之前曾是apache的主配置文件,名字来自与httpd守护进程;可用于用户设置的全局配置;mods-available: 该目录保存的配置文件加载和使用模块,但并非所有模块都有配置文件;

ports.conf: 指明Apache2的监听端口;

sites-available: Apaches的虚拟主机,使得apache2可以对不同的站点有不同配置;

sites-enabled: 包含/etc/apache2/sites-available的符号链接;/sites-available的配置文件被链接之后,Apache2启动的时候该配置就会处于活动状态。

此外,其他的配置文件可以用Include命令,并且通配符可以包含多个配置文件,对配置文件的修改在apache2重启后起效。

服务器可以使用包含了mime文档类型的文件,文件名字通过TypesConfig指令设置,默认值/etc/mime.types.

基本设置

apache2的默认配置是virtual host友好的,默认有一个virtual host,以VirtualHost指令开始,同时,也可以作为多个virtual host的模板。如果用户不修改,默认的virtual host作为默认站点;可通过修改/etc/apache2/sites-available/default修改默认的virtual host.

对virtual host的配置只影响特定的virtual host。若一个directive全局有效,并且在virtual host的设置中没有设置,那么使用缺省设定。譬如,可以指定webmaster的email地址,而不用指定每个virtual host的mail address.

如果需要配置新的virtual host或地址,拷贝default:

sudo cp /etc/apache2/sites-available/default /etcapache2/sites-available/mynewsite

ServerAdmin项指定管理员的mail地址;默认邮件是webmaster@localhost,修改成自己的邮箱后,若网站出了问题,Apache2会发送错误信息的报告。

Listen项指明Apache监听的port,(IP可选)。如果没指名IP,那么apache2监听机器的所有IP。默认监听端口是80.若配置127.0.0.1:80,那么只监听环回地址,也即在公网不可用。该项在/etc/apache2/ports.conf中可配置。

【IT专家】window下安装openssl1.1.0(以及linux 下源码编译安装)

本文由我司收集整编,推荐下载,如有疑问,请与我司联系window下安装openssl1.1.0(以及linux 下源码编译安装)2016/12/01 0 Fedora下源码编译:先安装perl 5。 ?接下来安装openssl1.1.0,进入openssl源码路径下,具体步骤如下: ?$ ./config --prefix=/opt/openssl --openssldir=/usr/local/ssl$ ./Configure$ make$ make test$ make installmake test的时候可能会出现错误。安装cpan ?$ sudo dnf install cpan做make test ?$ make list-tests$ make VERBOSE=1 test$ make TESTS=‘test_rsa test_dsa’ test$ make testmake install之后,没有报错,生成的库以及可执行文件存放在/opt/openssl下。?loading shared libraries的操作请看:“error while loading shared libraries: xxx.so.x” Windows下源码编译:1、先安装安装perl 5。配置环境变量。 ?2、安装NASM,配置环境变量。 ?3、打开VS2015环境Developer Command Prompt for VS2015(管理员身份运行)。执行 ?vc\vcvarsall x86_amd64 // 设置64位环境或vcvars32 // 设置32位环境4、进入openssl1.1.0源码路径下,(首先安装dmake),执行 ?ppm install dmake// 在C:\Perl64\site\bin会有dmake.exe文件,将路径放入环境变量中5、配置,执行以下命令后,生成makefile文件 ?perl Configure VC-WIN64A // 或者VC-WIN326、执行nmake,编译 ?nmakenmake testnmake install7、最后,生成的相关bin、html、lib、include、存放在C:\Program Files\OpenSSL路径下(默认设置,可以通过config –prefix=DIR修改) ?tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

OpenSSL编程实例

客户端程序 // OpenSSLClient.cpp #include #include using namespace std; #pragma comment (lib, "Ws2_32.lib") #include "openssl/ssl.h" #pragma comment(lib, "ssleay32.lib") #pragma comment(lib, "libeay32.lib") #define SERVICE_PORT 10000 const int nBufSize = 512; // 初始化2.2版本Winsock int InitWinsock(){ WSADATA wsaData = {0}; WORD wVer = MAKEWORD(2,2); int nRet = WSAStartup(wVer, &wsaData); if(nRet != 0){ cout<<"Winsock初始化失败,错误代码是"<

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

使用OpenSSL建立根CA及自签名证书制作过程 2009-12-24 11:35:32| 分类:openssl |字号订阅 Openssl版本:0.9.8 版本,可从https://www.sodocs.net/doc/6952886.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/6952886.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"

SVN服务端安装和配置

所有资料来源于 https://www.sodocs.net/doc/6952886.html, 我用Subversion - SVN|TortoiseSVN下载安装配置使用技术交流社区 SVN 服务端安装和配置 1.Windows环境下基于 Apache 的SVN 服务器安装及配置 1.1安装 1.1.1安装Apache (1)下载Apache 地址https://www.sodocs.net/doc/6952886.html,/download.cgi 注意:Apache低于2.0.54的Windows版本的存在编译问题,低于2.0.54的版本不能与Subversion 1.2一起工作。2.2.X目前不能很好支持SVN 1.4.3。当前建议下载Apache 2.0.59 (2) 安装 下载完成后运行apache_2.0.59-win32-x86-no_ssl.msi,根据提示进行操作。遇到系统要求输入SERVER的URL时,如果你的服务器没有DNS名称,请直接输入IP地址。 注意:如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录\Apache Group\Apache2\conf,打开httpd.conf。编辑文件的Listen 80为其他可用的端口,例如Listen 81,然后重新启动-这样就不会那个问题了。 (3)检查 安装完成后浏览http://localhost/若成功,可看到apache页面。 1.1.2安装Subversion (1)下载 Subversion 地址:https://www.sodocs.net/doc/6952886.html,/servlets/ProjectDocumentList?folderID=91(2)安装 运行svn-1.4.3-setup.exe 安装程序,并根据指导安装,如果Subversion认识到你安装了Apache,你就几乎完成了工作,如果它没有找到Apache服务器,你还有额外的步骤。 (3)后续 步骤1 从C:\Program Files\Subversion\bin 中将 mod_authz_svn.so mod_dav_svn.so复制到 C:\Program Files\Apache Group\Apache2\modules下 intl3_svn.dll libdb*.dll C:\Program Files\Apache Group\Apache2\bin下 步骤2 找到C:\Program Files\Apache Group\Apache2\conf\httpd.conf文件去掉如下几行的注释(删除 '#'标记):

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

SSl双向认证学习笔记 2010-09-02 13:16:39| 分类:ssl | 标签:|字号大中小订阅 url]https://www.sodocs.net/doc/6952886.html,/sunyujia/archive/2008/10/03/3014667.aspx[/url] [url]https://www.sodocs.net/doc/6952886.html,/nataka/archive/2005/09/03/470539.aspx[/url] [url]https://www.sodocs.net/doc/6952886.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证书制作过程

比亚迪培训讲义 在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/6952886.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)

AIX5.3安装openSSL,openSSH

AIX5.3安装openSSL、openSSH 1、将openssl-0.9.8.2501.tar.Z包ftp到/tmp/ssl目录下 2、将openssh-4.7_new5302.tar包ftp到/tmp/ssh目录下 3、安装过程: 1)解压 # uncompress openssl-0.9.8.2501.tar.Z # tar -xvf openssl-0.9.8.2501.tar #gunzip OpenSSH_6.0.0.6106.tar.Z #tar xvf OpenSSH_6.0.0.6106.tar 2)安装 必须先安装openssl,然后再安装openssh。 a)openssl安装: 进入openssl目录 # /tmp/ssl/openssl-0.9.8.2501 #smit install_latest 选择当前目录,注意中括号中的“.”号 INPUT device / directory for software [.] 如图所示: 回车后,选择 SOFTWARE to install 选择默认的_all_latest(这个选择最好保证本目录只有ssl的安装文件),使用tab键将ACCEPT new license agreements修改为yes如下图:

根据上图,参照红圈的修改,其他不用修改按entert键进入下一步: 再按enter键开始安装

安装成功如下图: b)openssh安装 openssh的安装与openssl的安装过程一样。 进入到ssh的目录 # /tmp/ssh/OpenSSH_6.0.0.6106 #smit install_latest 选择当前目录,注意中括号中的“.”号 * INPUT device / directory for software [.] 回车后,选择 SOFTWARE to install 安装所有可以安装的ssh软件,或者是默认全部软件(确保该目录只有ssh)。选择 ACCEPT new license agreements? 必须为yes 否则,将安装不成功。

openssl使用手册

OpenSSL有两种运行模式:交互模式和批处理模式。 直接输入openssl回车进入交互模式,输入带命令选项的openssl进入批处理模式。 (1) 配置文件 OpenSSL的默认配置文件位置不是很固定,可以用openssl ca命令得知。 你也可以指定自己的配置文件。 当前只有三个OpenSSL命令会使用这个配置文件:ca, req, x509。有望未来版本会有更多命令使用配置文件。 (2)消息摘要算法 支持的算法包括:MD2, MD4, MD5, MDC2, SHA1(有时候叫做DSS1), RIPEMD-160。SHA1和RIPEMD-160产生160位哈西值,其他的产生128位。除非出于兼容性考虑,否则推荐使用SHA1或者RIPEMD-160。 除了RIPEMD-160需要用rmd160命令外,其他的算法都可用dgst命令来执行。 OpenSSL对于SHA1的处理有点奇怪,有时候必须把它称作DSS1来引用。 消息摘要算法除了可计算哈西值,还可用于签名和验证签名。签名的时候,对于DSA生成的私匙必须要和DSS1(即SHA1)搭配。而对于RSA生成的私匙,任何消息摘要算法都可使用。 ############################################################# # 消息摘要算法应用例子 # 用SHA1算法计算文件file.txt的哈西值,输出到stdout $ openssl dgst -sha1 file.txt # 用SHA1算法计算文件file.txt的哈西值,输出到文件digest.txt $ openssl sha1 -out digest.txt file.txt # 用DSS1(SHA1)算法为文件file.txt签名,输出到文件dsasign.bin # 签名的private key必须为DSA算法产生的,保存在文件dsakey.pem中 $ openssl dgst -dss1 -sign dsakey.pem -out dsasign.bin file.txt # 用dss1算法验证file.txt的数字签名dsasign.bin, # 验证的private key为DSA算法产生的文件dsakey.pem $ openssl dgst -dss1 -prverify dsakey.pem -signature dsasign.bin file.txt # 用sha1算法为文件file.txt签名,输出到文件rsasign.bin # 签名的private key为RSA算法产生的文件rsaprivate.pem $ openssl sha1 -sign rsaprivate.pem -out rsasign.bin file.txt # 用sha1算法验证file.txt的数字签名rsasign.bin, # 验证的public key为RSA算法生成的rsapublic.pem $ openssl sha1 -verify rsapublic.pem -signature rsasign.bin file.txt (3) 对称密码 OpenSSL支持的对称密码包括Blowfish, CAST5, DES, 3DES(Triple DES), IDEA, RC2, RC4以及RC5。OpenSSL 0.9.7还新增了AES的支持。很多对称密码支持不同的模式,包括CBC, CFB, ECB以及OFB。对于每一种密码,默认的模式总是CBC。需要特别指出的是,尽量避免使用ECB模式,要想安全地使用它难以置信地困难。 enc命令用来访问对称密码,此外还可以用密码的名字作为命令来访问。除了加解密,base64可作为命令或者enc命令选项对数据进行base64编码/解码。 当你指定口令后,命令行工具会把口令和一个8字节的salt(随机生成的)进行组合,然后计算MD5 hash值。这个hash值被切分成两部分:加密钥匙(key)和初始化向量(initialization

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/6952886.html,f。 创建证书请求时,会要求用户输入一些身份信息,示例如下:

openssl安装及使用

Openssl安装及使用 一软件 Windows下需要用到的软件 1.ActivePerl 一个perl脚本解释器。其包含了包括有Perl for Win32、Perl for ISAPI、PerlScript、Perl Package Manager四套开发工具程序,可以让你编写出适用于unix,windows,linux系统的CGI程序来。安装的只是perl的一个解释程序啦,外观上也不会发生什么变化,你在windows的cmd界面里输入perl -v可查看你所安装的版本。 在你编译perl程序时会用到它。 2.C++编译器 编译器就是将“高级语言”翻译为“机器语言(低级语言)” 的程序。一个现代编译器的主要工作流程:源代码(source code) →预处理器(preprocessor) →编译器(compiler) →汇编程序(assembler) →目标代码(object code) →链接器(Linker) →可执行程序(executables)。c++编译器是一个与标准化C++高度兼容的编译环境。这点对于编译可移植的代码十分重要。编译器对不同的CPU会进行不同的优化。 3.OpenSSL OpenSSL是一个强大的安全套接字层密码库,Apache使用

它加密HTTPS,OpenSSH使用它加密SSH,它还是一个多用途的、跨平台的密码工具。 OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。 4.MASM 8.0 MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发。8.0版本在编译OpenSSL的时候不容易出错。 用winrar解压缩MASMSetup.exe得到:setup.exe继续用winrar解压缩setup.exe 得到:vc_masm1.cab继续用winrar解压缩vc_masm1.cab得到:FL_ml_exe__..... (很长的文件名,省略),将这个文件重命名为ml.exe测试得到的ml.exe , 应该显示:Microsoft (R) Macro Assembler Version 8.00.50727.104将ml.exe 拷贝到工作目录,即可正常使用。 5.mspdb60.dll

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

info@https://www.sodocs.net/doc/6952886.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/6952886.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/6952886.html, // 你的姓名(要是生成服务器端的证书一定要输入域名或者ip地址) Email Address: admin@https://www.sodocs.net/doc/6952886.html, // Email地址

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

linux下利用openssl来实现证书的颁发(详细步骤) 1、首先需要安装openssl,一个开源的实现加解密和证书的专业系统。在centos下可以利用yum安装。 2、openssl的配置文件是https://www.sodocs.net/doc/6952886.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 #建立证书回收列表保存失效的证书

RedhatLinux6.5-OpenSSL升级安装步骤

RedhatLinux6.5-OpenSSL升级安装步骤 各位朋友,2014年4月8日,OpenSSL发布公告,因为一个叫心脏出血的漏洞,全世界绝大多数现网服务器面临威胁,不管是LINUX还是WNDOWS,这里提供大家Redhat Linux 6.5的修复办法和RPM包,因为使用网上下载的源代码编译安装后,所有使用OpenSSL的相关应用全部都起不来,直接报.so文件调用失败,看来红帽子是有什么定制的内容在里面。 没办法,找到红帽子的源代码盘,与网上下载的OpenSSL1.0.1g进行混合,一步步解决Patch冲突问题,修订部分openssl.spec的冲突和错误,经过几个小时的奋斗,终于成功生成.rpm包,经测试在Redhat Linux 6.5上完全升级成功,如果需要用于其他版本的Redhat Linux,请大家自行测试。 因为现网系统,升级可不是小事,并且openssl可是核心模块,很多应用程序都需要调用,升级完成要多做测试,确保所有应用都没有问题才行。并且现网的平台很多都是通过 4A系统访问管理,4A平台连接主机只有SSH方式,一旦升级有问题,SSH也是无法启动的(SSH也调用openssl),就再也无法连接主机了,必须去机房!所以必须先弄一个备份连接,那就只能先把Telnet弄起来吧。 具体如何弄Telnet,我就不想多说了,本文并不是Telnet的安装操作手册,并且还有可能涉及到主机防火墙的配置,所以如何起动Telnet,并且测试能够通过4A平台访问,这是自己的事情,也许还有可能你们的4A平台不支持Telnet,但支持其他方式(虽然这种情况很少见,不支持Telnet的4A平台我还没见过),你就需要使用其他方式来建一个备份连接方式,防止SSH升级有问题,无法再连接主机。 我的步骤是考虑到现网系统的特殊性的,并不是自己在家玩,自己在家玩,怎么玩都行!但现网系统可不能乱玩。 一、在家里用一台测试机升级,试验。 a) 从现网备份OpenSSL的相关系统配置,拿回来备用,主要是以下几个: i./etc/pki/CA目录下面的所有文件 ii./etc/pki/tls目录下面的所有文件 b) 先删除旧版本,以免出现安装冲突 #rpm -qa|grep openssl 一般是有两个,然后一个个删除 #rpm -e openssl --nodeps #rpm -e openssl-devel --nodeps

Linux怎么使用OpenSSL命令行

Linux怎么使用OpenSSL命令行 OpenSSL是一款命令行工具可以用来做检测,加密解密等等,尤其在Linux中很实用。那么Linux要如何使用OpenSSL命令行呢?下面小编将针对OpenSSL命令行的使用给大家做个详细介绍。 Linux如何使用OpenSSL命令行 1. base64编码/解码 谈到命令行下如何发送邮件附件,很多人想起了uuencode。也可以使用base64编码。以下是openssl base64编码/解码的使用: $ openssl base64 《filename.bin 》filename.txt $ openssl base64 -d 《filename.txt 》filename.bin 2. 校验文件的一致性

UNIX下校验文件一致性的方法很多,比如sum、cksum、md5sum、sha1sum等。sum和cksum适用于简单校验的场合,生成的校验码容易重复。md5sum有安全漏洞,当前比较推荐的是sha1sum。不过sha1sum在不同的平台用法有些不同。考虑到跨平台性,建议用openssl。 $ openssl sha1 filename SHA1(filename)= e83a42b9bc8431a6645099be50b6341a35d3dceb $ openssl md5 filename MD5(filename)= 26e9855f8ad6a5906fea121283c729c4 3. 文件加密/解密 OpenSSL支持很多加密算法,不过一些算法只是为了保持向后兼容性,现在已不推荐使用,比如DES和RC4-40。推荐使用的加密算法是bf(Blowfish)和-aes-128-cbc(运行在CBC模式的128

AES加密之openssl安装

AES加密之openssl安装 linux下的安装 1)解压openssl 开发包文件; 2)运行./config --prefix=/usr/local/openssl (更多选项用./config --help 来查看),可用的选项有:no-mdc2、no-cast no-rc2、no-rc5、no-ripemd、no-rc4 no-des 、no-md2、no-md4、no-idea 、no-aes、no-bf、no-err、no-dsa、no-dh、no-ec、no-hw、no-asm、no-krb5、no-dso 、no-threads 、no-zlib、DOPENSSL_NO_HASH_COMP、 -DOPENSSL_NO_ERR、-DOPENSSL_NO_HW 、-DOPENSSL_NO_OCSP、 -DOPENSSL_NO_SHA256 和-DOPENSSL_NO_SHA512 等。去掉不必要的内容可以减少生成库的大小。若要生成debug 版本的库和可执行程序加-g 或者-g3(openssl 中有很多宏,需要调试学习最好加上-g3)。 3)make test (可选) 4)make install 完成后,openssl 会被安装到/usr/local/openssl 目录,包括头文件目录include、可执行文件目录bin、man 在线帮助、库目录lib 以及配置文件目录(ssl)。 ——————————————网摘————————————————————— window编译与安装 本文介绍在VC 中编译和使用OpenSSL的过程。 一、编译OpenSSL 在编译OpenSSL前,需要正确安装Perl,因为在编译OpenSSL时需要使用到该程序。 下载最新版本的Perl: https://www.sodocs.net/doc/6952886.html,/ActivePerl/Windows/5.8/ActivePerl-5.8.8.822-MSWin32 -x86-280952.zip。然后安装之。 下载最新版本的OpenSSL:https://www.sodocs.net/doc/6952886.html,/source/openssl-0.9.8g.tar.gz 然后将源码释放的c:\openssl-0.9.8g目录中。 进入openssl源码目录。 cd c:\openssl-0.9.8.g 以下为参照该目录下的文件INSTALL.W32的执行过程: 运行configure: perl Configure VC-WIN32 --prefix=c:/openssl 创建Makefile文件:

openssl工具使用简介

openssl工具使用简介 1.私有密钥生成方法 生成私有密钥,可以使用不同的数字签名算法.下面分别介绍; #采用DSA算法 $ openssl dsaparam -noout -out dsakey0.pem -genkey 1024 #采用RSA算法 $ openssl genrsa -out rsakey0.pem 1024 #采用RSA算法,并使用密码保护.在生成私钥时,需要输入一个密码,用于保护私钥. #在使用这个私钥进行加/解密操作时,也需要输入这个密码. $ openssl genrsa -des3 -out rsakey1.pem 1024 2.公用密钥的生成方法 根据私钥来生成公钥 #生成dsa算法的公钥 $ openssl dsa -in dsakey0.pem -pubout -out dsakey0-pub.pem #生成rsa算法的公钥 $ openssl rsa -in rsakey0.pem -pubout -out rsakey0-pub.pem 3.自签名证书的生成方法 #产生DSA算法的证书 $ openssl req -x509 -key dsakey0.pem -days 365 -out mycert-dsa.pem -new #产生RSA算法的证书 $ openssl req -x509 -key rsakey0.pem -days 365 -out mycert-rsa.pem -new 4.使用证书进行邮件加密 我们的明文信件内容: $ cat test.txt 111111 222222 333333 444444 aaaaaa 使用证书对明文信件进行加密,输出到etest.txt文件: $ openssl smime -encrypt -in test.txt -out etest.txt mycert-rsa.pem 查看加密后的密文内容: $ cat etest.txt MIME-Version: 1.0 Content-Disposition: attachment; filename="smime.p7m" Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data; name="smime.p7m" Content-Transfer-Encoding: base64 MIIBYAYJKoZIhvcNAQcDoIIBUTCCAU0CAQAxgewwgekCAQAwUjBFMQswCQYDVQQG EwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lk

AMP安装配置手册

Apache+mysql+php配置说明 1概述 §1.1前言 由于Bug管理系统bugfree需要安装在apache+mysql+php的运行环境,因此本手册专为bugfree系统搭建运行环境而准备.当然,除了少数几个地方特列外,完全可以用在搭建独立的apache+mysql+php环境。 本手册包括windows和linux(redhat)下的安装和配置,都已测试通过,对于unix 其他版本的配置请参照linux下的步骤做相应调整. §1.2说明 1.本手册假设windows下的基本安装目录为”D:\amp”,linux下的基本最终安装目录为/usr/local,linux下的程序存放目录/home/tool 2.linux下的安装都使用.tar.gz文件,解压基本步骤如下: 解压gz:gunzip tall.tar.gz 解包tar文件成目录:tar-xvf tall.tar 3.读者应该有基本的windows和linux使用经验,否则请先了解基本的操作. 4.安装时请按照手册的顺序安装,因为php安装时必须要求mysql与apache已经安装 5.源码安装的步骤和说明 ./configure--prefix=/usr/local/xxx(配置环境变量,生成makefile) make(编译源程序) make install(根据make的结果,完成程序的安装)

2Mysql安装配置 §2.1总体说明 本次采用mysql5 参考手册:https://www.sodocs.net/doc/6952886.html,/doc/refman/5.1/zh/index.html 下载地址:https://www.sodocs.net/doc/6952886.html,/downloads/ windows安装程序:mysql-5.0.22-win32.zip linux安装程序:mysql-5.1.23-rc-linux-i686-glibc23.tar.gz 验证安装是否成功:启动mysql mysql–u root–p能正常登录即安装正确 §2.2基本操作说明 进入mysql后的每个命令必须以’;’结束,’mysql’是客户端程序 1.linux下的启动和停止: 启动:/usr/local/mysql/bin/mysqld_safe--user=root& 停止:kill掉mysqld进程 2.登录:mysql–u root–p 远程登录:mysql-h ipaddress-u root-p 3.设置远程主机可访问: mysql如果需要客户端或者其他系统远程访问,需要设置远程主机的ip到 mysql的user表中,或者设置user的hostname为’%’,如: update user set host='%'where host='localhost'; flush privileges; 4.修改密码: mysql默认安装时管理员密码(root)为空,可通过命令修改: mysqladmin-u root password'new-password'( 格式:mysqladmin-u用户名-p旧密码password新密码 5.一个mysql包含多个数据库,可用’show databases;’查看,使用数据库 用’use databasename’如’use mysql’,修改表之前必须先use指定库,查看此数据库有那些表用’show tables’ 6.更详细的操作和说明请看<> §2.3Windows下的安装 Windows下安装比较简单,下载win32的安装包,默认安装即可.须注意下面几点: 1.安装目录:选择D:\amp\MySQL5,不必须修改默认目录只是方便管理 2.字符集:安装时为了bugfree的需要,选择’utf8’ 3.选择安装配置工具的安装,并设置管理员密码为’mysql’

相关主题