??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲热线99精品视频,亚洲日韩在线第一页,亚洲A∨无码一区二区三区http://www.tkk7.com/alwayscy/category/17978.html<br> 有兴可以访问下我的生活博客Q?lt;a >qqmovie.qzone.com</a>zh-cnTue, 13 Nov 2012 00:41:04 GMTTue, 13 Nov 2012 00:41:04 GMT60转的:果然?分钟配成TOMCAT使用SSL(https)http://www.tkk7.com/alwayscy/archive/2012/11/12/391235.html我爱佛_我爱佛_Mon, 12 Nov 2012 15:17:00 GMThttp://www.tkk7.com/alwayscy/archive/2012/11/12/391235.htmlhttp://www.tkk7.com/alwayscy/comments/391235.htmlhttp://www.tkk7.com/alwayscy/archive/2012/11/12/391235.html#Feedback0http://www.tkk7.com/alwayscy/comments/commentRss/391235.htmlhttp://www.tkk7.com/alwayscy/services/trackbacks/391235.htmlSetting Up SSL on Tomcat in 5 minutes (https://localhost:8443)
June 30, 2011 | By 

This tutorial will walk you through how to configure SSL (https://localhost:8443 access) on Tomcat in 5 minutes.

apache tomcat Setting Up SSL on Tomcat in 5 minutes (https://localhost:8443)

For this tutorial you will need:

  • Java SDK (used version 6 for this tutorial)
  • Tomcat (used version 7 for this tutorial)

The set up consists in 3 basic steps:

  1. Create a keystore file using Java
  2. Configure Tomcat to use the keystore
  3. Test it
  4. (Bonus ) Configure your app to work with SSL (access through https://localhost:8443/yourApp)

1 – Creating a Keystore file using Java

Fisrt, open the terminal on your computer and type:

Windows:

cd %JAVA_HOME%/bin 

Linux or Mac OS:

cd $JAVA_HOME/bin 

The $JAVA_HOME on Mac is located on “/System/Library/Frameworks/JavaVM.framework/Versions/{your java version}/Home/

You will change the current directory to the directory Java is installed on your computer. Inside the Java Home directory, cd to the bin folder. Inside the bin folder there is a file named keytool. This guy is responsible for generating the keystore file for us.

Next, type on the terminal:

keytool -genkey -alias tomcat -keyalg RSA 

When you type the command above, it will ask you some questions. First, it will ask you to create a password (My password is “password“):

loiane:bin loiane$ keytool -genkey -alias tomcat -keyalg RSA Enter keystore password:  password Re-enter new password: password What is your first and last name?   [Unknown]:  Loiane Groner What is the name of your organizational unit?   [Unknown]:  home What is the name of your organization?   [Unknown]:  home What is the name of your City or Locality?   [Unknown]:  Sao Paulo What is the name of your State or Province?   [Unknown]:  SP What is the two-letter country code for this unit?   [Unknown]:  BR Is CN=Loiane Groner, OU=home, O=home, L=Sao Paulo, ST=SP, C=BR correct?   [no]:  yes  Enter key password for 	(RETURN if same as keystore password):  password Re-enter new password: password 

It will create a .keystore file on your user home directory. On Windows, it will be on: C:\Documents and Settings\[username]; on Mac it will be on /Users/[username] and on Linux will be on /home/[username].

2 – Configuring Tomcat for using the keystore file – SSL config

Open your Tomcat installation directory and open the conf folder. Inside this folder, you will find the server.xml file. Open it.

Find the following declaration:

<!-- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"     maxThreads="150" scheme="https" secure="true"     clientAuth="false" sslProtocol="TLS" /> --> 

Uncomment it and modify it to look like the following:

Connector SSLEnabled="true" acceptCount="100" clientAuth="false"     disableUploadTimeout="true" enableLookups="false" maxThreads="25"     port="8443" keystoreFile="/Users/loiane/.keystore" keystorePass="password"     protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"     secure="true" sslProtocol="TLS" /> 

Note we add the keystoreFilekeystorePass and changed the protocol declarations.

3 – Let’s test it!

Start tomcat service and try to access https://localhost:8443. You will see Tomcat’s local home page.

Note if you try to access the default 8080 port it will be working too: http://localhost:8080

4 – BONUS - Configuring your app to work with SSL (access through https://localhost:8443/yourApp)

To force your web application to work with SSL, you simply need to add the following code to your web.xml file (before web-app tag ends):

<security-constraint> 	<web-resource-collection> 		<web-resource-name>securedapp</web-resource-name> 		<url-pattern>/*</url-pattern> 	</web-resource-collection> 	<user-data-constraint> 		<transport-guarantee>CONFIDENTIAL</transport-guarantee> 	</user-data-constraint> </security-constraint> 

The url pattern is set to /* so any page/resource from your application is secure (it can be only accessed with https). The transport-guarantee tag is set to CONFIDENTIAL to make sure your app will work on SSL.

If you want to turn off the SSL, you don’t need to delete the code above from web.xml, simply changeCONFIDENTIAL to NONE.

Referencehttp://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html (this tutorial is a little confusing, that is why I decided to write another one my own).

Happy Coding!



我爱佛_ 2012-11-12 23:17 发表评论
]]>
Perl与Java的SSL通信CZhttp://www.tkk7.com/alwayscy/archive/2006/12/04/85368.html我爱佛_我爱佛_Mon, 04 Dec 2006 07:20:00 GMThttp://www.tkk7.com/alwayscy/archive/2006/12/04/85368.htmlhttp://www.tkk7.com/alwayscy/comments/85368.htmlhttp://www.tkk7.com/alwayscy/archive/2006/12/04/85368.html#Feedback2http://www.tkk7.com/alwayscy/comments/commentRss/85368.htmlhttp://www.tkk7.com/alwayscy/services/trackbacks/85368.html用OpenSSL与JAVA(JSSE)通信一文中所生成的CA证书及keystore可以在JAVA和OpenSSL之间通信了,下面以Perl代码ZQ(Perl实际使用了OpenSSL)

下面的CLIENT端可以与前文提到的JAVA服务端通信Q?br />
#use strict;
use IO::Socket::SSL(debug4);

my ($v_mode, $sock, $buf);

if($ARGV[0] eq "DEBUG") { $IO::Socket::SSL::DEBUG = 1; }

# Check to make sure that we were not accidentally run in the wrong
# directory:

unless (-"certs") {
    
if (-"../certs") {
    
chdir "..";
    } 
else {
#    die "Please run this example from the IO::Socket::SSL distribution directory!\n";
    }
}

if(!($sock = IO::Socket::SSL->new( PeerAddr => '172.19.149.52',
                   PeerPort 
=> '5555',
                   Proto    
=> 'tcp',
                   SSL_verify_mode 
=> 0x01,
                   SSL_ca_file 
=> 'mycerts/cacert.pem',
                 ))) {
    
warn "unable to create socket: ", &IO::Socket::SSL::errstr, "\n";
    
exit(0);
else {
    
warn "connect ($sock).\n" if ($IO::Socket::SSL::DEBUG);
}

# check server cert.
my ($subject_name, $issuer_name, $cipher);
ifref($sock) eq "IO::Socket::SSL") {
    
$subject_name = $sock->peer_certificate("subject");
    
$issuer_name = $sock->peer_certificate("issuer");
    
$cipher = $sock->get_cipher();
}
warn "cipher: $cipher.\n", "server cert:\n", 
    
"\t '$subject_name' \n\t '$issuer_name'.\n\n";

print $sock "Knock, knock.\n";

my ($buf= $sock->getlines;

$sock->close();

print "read: '$buf'.\n";


另外Q也l出一个PERL的SVR端示例:
#use strict;
use IO::Socket::SSL(debug4);


my ($sock, $s, $v_mode);

if($ARGV[0] eq "DEBUG") { $IO::Socket::SSL::DEBUG = 1; }

# Check to make sure that we were not accidentally run in the wrong
# directory:

unless (-"certs") {
    
if (-"../certs") {
    
chdir "..";
    } 
else {
#    die "Please run this example from the IO::Socket::SSL distribution directory!\n";
    }
}

if(!($sock = IO::Socket::SSL->new( Listen => 5,
                   LocalAddr 
=> '10.56.28.35',
                   LocalPort 
=> 9000,
                   Proto     
=> 'tcp',
                   Reuse     
=> 1,
                   SSL_use_cert 
=> 1,
                   SSL_verify_mode 
=> 0x00,
                   SSL_cert_file 
=> 'mycerts/cert.pem',
                   SSL_key_file 
=> 'mycerts/key.pem'                   
                 )) ) {
    
warn "unable to create socket: ", &IO::Socket::SSL::errstr, "\n";
    
exit(0);
}
warn "socket created: $sock.\n";

while (1) {
  
warn "waiting for next connection.\n";
  
  
while(($s = $sock->accept())) {
      
my ($peer_cert, $subject_name, $issuer_name, $date, $str);
      
      
if! $s ) {
      
warn "error: ", $sock->errstr, "\n";
      
next;
      }
      
      
warn "connection opened ($s).\n";
      
      
ifref($sock) eq "IO::Socket::SSL") {
      
$subject_name = $s->peer_certificate("subject");
      
$issuer_name = $s->peer_certificate("issuer");
      }
      
      
warn "\t subject: '$subject_name'.\n";
      
warn "\t issuer: '$issuer_name'.\n";
  
      
my $date = localtime();
      
print $s "my date command says it's: '$date'";
      
close($s);
      
warn "\t connection closed.\n";
  }
}


$sock->close();

warn "loop exited.\n";


在PERL中写SSL的SOCKETQ要注意Q?br />SVR端中Q?br />       SSL_use_cert => 1,
       SSL_verify_mode => 0x00,
       SSL_cert_file => 'mycerts/cert.pem',
       SSL_key_file => 'mycerts/key.pem'
CLI端是Q?br />       SSL_verify_mode => 0x01,
       SSL_ca_file => 'mycerts/cacert.pem',
mode?表示Q不认证对端Q是1表示要认证对斏V?img src ="http://www.tkk7.com/alwayscy/aggbug/85368.html" width = "1" height = "1" />

我爱佛_ 2006-12-04 15:20 发表评论
]]>
用OpenSSL与JAVA(JSSE)通信http://www.tkk7.com/alwayscy/archive/2006/12/03/85161.html我爱佛_我爱佛_Sun, 03 Dec 2006 04:36:00 GMThttp://www.tkk7.com/alwayscy/archive/2006/12/03/85161.htmlhttp://www.tkk7.com/alwayscy/comments/85161.htmlhttp://www.tkk7.com/alwayscy/archive/2006/12/03/85161.html#Feedback7http://www.tkk7.com/alwayscy/comments/commentRss/85161.htmlhttp://www.tkk7.com/alwayscy/services/trackbacks/85161.html阅读全文

我爱佛_ 2006-12-03 12:36 发表评论
]]>
用OpenSSL做自{֐的证?/title><link>http://www.tkk7.com/alwayscy/archive/2006/12/01/84852.html</link><dc:creator>我爱佛_</dc:creator><author>我爱佛_</author><pubDate>Fri, 01 Dec 2006 07:20:00 GMT</pubDate><guid>http://www.tkk7.com/alwayscy/archive/2006/12/01/84852.html</guid><wfw:comment>http://www.tkk7.com/alwayscy/comments/84852.html</wfw:comment><comments>http://www.tkk7.com/alwayscy/archive/2006/12/01/84852.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.tkk7.com/alwayscy/comments/commentRss/84852.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/alwayscy/services/trackbacks/84852.html</trackback:ping><description><![CDATA[q里抄录<a class="postTitle2" id="viewpost1_TitleUrl" href="/alwayscy/archive/2006/11/28/83737.html"><font color="#1a8bc8">LDAP+OpenSSL集中认证配置</font></a>一文的一部分Q?br /> 公私钥:公钥可以唯一解密U钥加密q的数据Q反之亦然。以下用P指代公钥QV指U钥?br /> SSLq程Q需要两对公U钥(P1,V1),(P2,V2)Q假N信双方是A和BQB是服务器QA要确认和它通信的是BQ?br /> A->B: hello<br /> B->A: 用V2加密q的P1Q即用户证书QAqP2解密出P1Q?br /> A->B: ok<br /> B->A: 用V1加密的一D信?br /> A->B: 用P1加密一个自动生成的KQ用之前的P1解密成功q段信息则认为B是可信的了)<br /> B->A: 用K加密的数据(之后两对密钥功能l束Q由K来加解密数据Q?br /> q里QP2是W?方的CA证书Q由于非对称加密很慢Q所以公U钥只是用来保证K的传送安全,之后通信是用K的对U加密算法来保证?br /> <br /> Z么通过以上q程Ap够确定肯定是BQ而不是某个C在假装B了呢Q因个过E中QB用V1加密q一D信息发lAQA也成功解开了。我们开头谈到公钥(P1Q只可以唯一解密U钥QV1Q加密过的信息,q样A可以完全相信B是拥有V1的,而V1是严g密,只被服务提供公司拥有Q所以保证了通信的服务方正确性?br /> <br /> q里(P2,V2)是certificate authority (CA)用来l客L名用的公U钥?br /> (P1,V1)是客戯q公私钥,提交lCAQCA所做的事情是?P2,V2)来给客户?P1,V1){֐Q简单吧Q?br /> V2是CA公司要保密的Q而P2是公用CA证书。用V2加密q({֐q)的P1Q称为用戯书,一般被安装在服务器端?br /> <br /> 下面我们OpenSSL来做q一整g事情?br /> <br /> <strong>先生成CA的公U钥(Root Certificate )<br /> </strong>准备工作<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">mkdir CA <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />cd CA <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />mkdir newcerts private <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />echo '</span><span style="color: #000000;">01</span><span style="color: #000000;">' > serial <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />touch index.txt </span></div> <br /> 生成配置文g。由于openssl命o行参数太多,所以就用文件来l织各种选项?br /> 其中,req_distinguished_name 节表C需要提C用戯入的信息?br /> v3_ca是有关CA公私钥生成的Qv3_req是有关用戯书生成的?br /> ca_default是用CA公私钥签名的时候,用户证书的默认信息?br /> <br /> vi ./openssl.cnf<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">dir </span><span style="color: #000000;">=</span><span style="color: #000000;"> .<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;"> req </span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />default_bits </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1024</span><span style="color: #000000;"> # Size of keys <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />default_keyfile </span><span style="color: #000000;">=</span><span style="color: #000000;"> key.pem # name of generated keys <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />default_md </span><span style="color: #000000;">=</span><span style="color: #000000;"> md5 # message digest algorithm <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />string_mask </span><span style="color: #000000;">=</span><span style="color: #000000;"> nombstr # permitted characters <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />distinguished_name </span><span style="color: #000000;">=</span><span style="color: #000000;"> req_distinguished_name <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />req_extensions </span><span style="color: #000000;">=</span><span style="color: #000000;"> v3_req <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;"> req_distinguished_name </span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /># Variable name   Prompt string <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />#----------------------   ---------------------------------- <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #000000;">0</span><span style="color: #000000;">.organizationName </span><span style="color: #000000;">=</span><span style="color: #000000;"> Organization Name (company) <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />organizationalUnitName </span><span style="color: #000000;">=</span><span style="color: #000000;"> Organizational Unit Name (department</span><span style="color: #000000;">,</span><span style="color: #000000;"> division) <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />emailAddress </span><span style="color: #000000;">=</span><span style="color: #000000;"> Email Address <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />emailAddress_max </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">40</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />localityName </span><span style="color: #000000;">=</span><span style="color: #000000;"> Locality Name (city</span><span style="color: #000000;">,</span><span style="color: #000000;"> district) <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />stateOrProvinceName </span><span style="color: #000000;">=</span><span style="color: #000000;"> State or Province Name (full name) <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />countryName </span><span style="color: #000000;">=</span><span style="color: #000000;"> Country Name (</span><span style="color: #000000;">2</span><span style="color: #000000;"> letter code) <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />countryName_min </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">2</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />countryName_max </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">2</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />commonName </span><span style="color: #000000;">=</span><span style="color: #000000;"> Common Name (hostname</span><span style="color: #000000;">,</span><span style="color: #000000;"> IP</span><span style="color: #000000;">,</span><span style="color: #000000;"> or your name) <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />commonName_max </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">64</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /># Default values for the above</span><span style="color: #000000;">,</span><span style="color: #000000;"> for consistency and less typing. <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /># Variable name   Value <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />#------------------------------   ------------------------------ <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="color: #000000;">0</span><span style="color: #000000;">.organizationName_default </span><span style="color: #000000;">=</span><span style="color: #000000;"> EB Company <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />localityName_default </span><span style="color: #000000;">=</span><span style="color: #000000;"> Shen Zhen <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />stateOrProvinceName_default </span><span style="color: #000000;">=</span><span style="color: #000000;"> Guan Dong<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />countryName_default </span><span style="color: #000000;">=</span><span style="color: #000000;"> CN<br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;"> v3_ca </span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />basicConstraints </span><span style="color: #000000;">=</span><span style="color: #000000;"> CA:TRUE <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />subjectKeyIdentifier </span><span style="color: #000000;">=</span><span style="color: #000000;"> hash <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />authorityKeyIdentifier </span><span style="color: #000000;">=</span><span style="color: #000000;"> keyid:always</span><span style="color: #000000;">,</span><span style="color: #000000;">issuer:always <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;"> v3_req </span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />basicConstraints </span><span style="color: #000000;">=</span><span style="color: #000000;"> CA:FALSE <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />subjectKeyIdentifier </span><span style="color: #000000;">=</span><span style="color: #000000;"> hash <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;"> ca </span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />default_ca </span><span style="color: #000000;">=</span><span style="color: #000000;"> CA_default <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;"> CA_default </span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />serial </span><span style="color: #000000;">=</span><span style="color: #000000;"> $dir/serial <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />database </span><span style="color: #000000;">=</span><span style="color: #000000;"> $dir/index.txt <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />new_certs_dir </span><span style="color: #000000;">=</span><span style="color: #000000;"> $dir/newcerts <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />certificate </span><span style="color: #000000;">=</span><span style="color: #000000;"> $dir/cacert.pem <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />private_key </span><span style="color: #000000;">=</span><span style="color: #000000;"> $dir/private/cakey.pem <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />default_days </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">365</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />default_md </span><span style="color: #000000;">=</span><span style="color: #000000;"> md5 <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />preserve </span><span style="color: #000000;">=</span><span style="color: #000000;"> no <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />email_in_dn </span><span style="color: #000000;">=</span><span style="color: #000000;"> no <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />nameopt </span><span style="color: #000000;">=</span><span style="color: #000000;"> default_ca <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />certopt </span><span style="color: #000000;">=</span><span style="color: #000000;"> default_ca <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />policy </span><span style="color: #000000;">=</span><span style="color: #000000;"> policy_match <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /></span><span style="font-weight: bold; color: #800000;">[</span><span style="color: #800000;"> policy_match </span><span style="font-weight: bold; color: #800000;">]</span><span style="color: #000000;"> <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />countryName </span><span style="color: #000000;">=</span><span style="color: #000000;"> match <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />stateOrProvinceName </span><span style="color: #000000;">=</span><span style="color: #000000;"> match <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />organizationName </span><span style="color: #000000;">=</span><span style="color: #000000;"> match <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />organizationalUnitName </span><span style="color: #000000;">=</span><span style="color: #000000;"> optional <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />commonName </span><span style="color: #000000;">=</span><span style="color: #000000;"> supplied <br /> <img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" />emailAddress </span><span style="color: #000000;">=</span><span style="color: #000000;"> optional </span></div> <br /> <br /> 生成CA公私钥:<br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem -days </span><span style="color: #000000;">3650</span><span style="color: #000000;"> -config ./openssl.cnf </span></div> <br /> 会提C入密码,当用它给用户证书{֐旉要输入,以避免其它h用它随意产生用户证书?br /> -days表示有效期,因ؓ它是根证书,所以时间一定要很长Q否则由它生成的用户证书Ҏq期?br /> <br /> q时q成了Q?br /> P1<br /> <font face="Courier New">cacert.pem</font><br /> V1<br /> <font face="Courier New">private/cakey.pem<br /> <br /> 查看信息用:<br /> openssl x509 -in cacert.pem -noout -text<br /> <br /> <br /> <strong>生成P2,V2Q即</strong><font face="Times New Roman"><strong>Certificate Signing Request (CSR) <br /> </strong>执行Q?br /> openssl req -new -nodes -out req.pem -config ./openssl.cnf <br /> q样q成了Q?br /> P2<br /> req.pem<br /> V2<br /> key.pem<br /> <br /> 用此命o查看Q?br /> openssl req -in req.pem -text -verify -noout <br /> <br /> <br /> <strong>用CA的私钥V1为P2{֐Q即生成用户证书</strong><br /> 执行Q?br /> openssl ca -out cert.pem -config ./openssl.cnf -infiles req.pem <br /> 生成用户证书Q?br /> <font face="Courier New">cert.pem</font><br /> 此时Q会拯一份到newcerts目录下。ƈ会更新数据库文gQindex.txt以及serail文g<br /> 用命令查看:<br /> openssl x509 -in cert.pem -noout -text -purpose | more <br /> <br /> 如果要去除可M息部分,执行Q?br /> mv cert.pem tmp.pem <br /> openssl x509 -in tmp.pem -out cert.pem <br /> <br /> <br /> <strong>安装证书<br /> </strong>key.pem(V2)和cert.pem(用V1加密q的P2Q安装到服务?br /> 有的服务器需要把q两个文件连Z个,可以执行Q?br /> cat key.pem cert.pem >key-cert.pem <br /> <br /> cacert.pem安装到客L<br /> <br /> Apache的配|:<br /> File          Comment <br /> /home/httpd/html Apache DocumentRoot <br /> /home/httpd/ssl      SSL-related files <br /> /home/httpd/ssl/cert.pem Site certificate <br /> /home/httpd/ssl/key.pem Site private key <br /> <br /> Stunnel的配|?br /> stunnel -p /etc/ssl/certs/key-cert.pem  <br /> <br /> <br /> ~辑?8.4.26Q另有两个例子:<br /> <a class="entrylistItemTitle" id="CategoryEntryList1_EntryStoryList_Entries_ctl02_TitleUrl" href="http://www.tkk7.com/alwayscy/archive/2006/12/03/85161.html">用OpenSSL与JAVA(JSSE)通信</a> <br /> <a class="entrylistItemTitle" id="CategoryEntryList1_EntryStoryList_Entries_ctl00_TitleUrl" href="http://www.tkk7.com/alwayscy/archive/2006/12/04/85368.html">Perl与Java的SSL通信CZ</a> <br /> </font></font> <img src ="http://www.tkk7.com/alwayscy/aggbug/84852.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/alwayscy/" target="_blank">我爱佛_</a> 2006-12-01 15:20 <a href="http://www.tkk7.com/alwayscy/archive/2006/12/01/84852.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在windows下编译opensslhttp://www.tkk7.com/alwayscy/archive/2006/11/26/83575.html我爱佛_我爱佛_Sun, 26 Nov 2006 03:32:00 GMThttp://www.tkk7.com/alwayscy/archive/2006/11/26/83575.htmlhttp://www.tkk7.com/alwayscy/comments/83575.htmlhttp://www.tkk7.com/alwayscy/archive/2006/11/26/83575.html#Feedback0http://www.tkk7.com/alwayscy/comments/commentRss/83575.htmlhttp://www.tkk7.com/alwayscy/services/trackbacks/83575.html~译环境Q?br />VS2005 Express Edition
SDK WIN SVR 2003 SP1
MASM 8.0

q入打开sdk?000~译命o行,再运行:
%comspec% /k ""C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"" x86

d解压目录Q?br />cd /d "E:\Prj2\ForMe\RefExe\perl+ssl\openssl-0.9.8d"

再编译:
perl Configure VC-WIN32 --prefix=dist
ms\do_ms
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
nmake -f ms\ntdll.mak install

完成后,dist目录是安装好的东西Q可以拷贝到别处使用



我爱佛_ 2006-11-26 11:32 发表评论
]]>
վ֩ģ壺 2021պƵ| һɫþۺ޾Ʒ| ̱߳ˬƵվ | aɫëƬѲƵ| һ| ŮպѲ| ղƷһ| ҹþþþþþþþ| ĻƵ| һëƬڲ| ޹Դ| ޹ƷۺϾþһ| 99ѹۿƵ| ɫ˿ѹۿվ| ձ߹ۿַ| ޹ƷYW߹ۿ | ɫƨƨ߹ۿƵ| ҹӰձŷ޾Ʒһ| ޱˬavˬ| ޾Ʒ| ĻƷѾþ| ĻƵ| WWW޾Ʒþ鶹| þþƷAV鶹վ| þóѴƬ| ӾƷ| 1134Ʒ| LƷþ| 99þ99þþƷѿ| ¶ɫ | ޾Ʒav| Ļ߹ۿ| ձվ| ƷŮٸaѾþ| ޹ֻ߹ۿ| ޾Ʒ˳鶹| ¹AVר| ִִˬaëƬѿ| ֱƵ| ޳aƬ2023| Ƶ2020|