⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssleay.txt

📁 mediastreamer2是开源的网络传输媒体流的库
💻 TXT
📖 第 1 页 / 共 5 页
字号:
Bundle of old SSLeay documentation files [OBSOLETE!]*** WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! ***OBSOLETE means that nothing in this document should be trusted.  Thisdocument is provided mostly for historical purposes (it wasn't even upto date at the time SSLeay 0.8.1 was released) and as inspiration.  Ifyou copy some snippet of code from this document, please _check_ thatit really is correct from all points of view.  For example, you cancheck with the other documents in this directory tree, or by comparingwith relevant parts of the include files.People have done the mistake of trusting what's written here.  Pleasedon't do that.*** WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! ***==== readme ========================================================This is the old 0.6.6 docuementation.  Most of the cipher stuff is stillrelevent but I'm working (very slowly) on new docuemtation.The current version can be found online athttp://www.cryptsoft.com/ssleay/doc==== API.doc ========================================================SSL - SSLv2/v3/v23 etc.BIO - methods and how they plug togetherMEM - memory allocation callbackCRYPTO - locking for threadsEVP - Ciphers/Digests/signaturesRSA - methodsX509 - certificate retrievalX509 - validationX509 - X509v3 extensionsObjects - adding object identifiersASN.1 - parsingPEM - parsing==== ssl/readme =====================================================22 Jun 1996This file belongs in ../apps, but I'll leave it here because it dealswith SSL :-)  It is rather dated but it gives you an idea of howthings work.===17 Jul 1995I have been changing things quite a bit and have not fully updatedthis file, so take what you read with a grain of salteric===The s_client and s_server programs can be used to test SSL capableIP/port addresses and the verification of the X509 certificates in useby these services.  I strongly advise having a look at the code to getan idea of how to use the authentication under SSLeay.  Any feedbackon changes and improvements would be greatly accepted.This file will probably be gibberish unless you have readrfc1421, rfc1422, rfc1423 and rfc1424 which describe PEMauthentication.A Brief outline (and examples) how to use them to do so.NOTE:The environment variable SSL_CIPER is used to specify the preferedcipher to use, play around with setting it's value to combinations ofRC4-MD5, EXP-RC4-MD5, CBC-DES-MD5, CBC3-DES-MD5, CFB-DES-NULLin a : separated list.This directory contains 3 X509 certificates which can be used by these programs.client.pem: a file containing a certificate and private key to be used	by s_client.server.pem :a file containing a certificate and private key to be used	by s_server.eay1024.pem:the certificate used to sign client.pem and server.pem.	This would be your CA's certificate.  There is also a link	from the file a8556381.0 to eay1024.PEM.  The value a8556381	is returned by 'x509 -hash -noout <eay1024.pem' and is the	value used by X509 verification routines to 'find' this	certificte when search a directory for it.	[the above is not true any more, the CA cert is 	 ../certs/testca.pem which is signed by ../certs/mincomca.pem]When testing the s_server, you may getbind: Address already in useerrors.  These indicate the port is still being held by the unixkernel and you are going to have to wait for it to let go of it.  Ifthis is the case, remember to use the port commands on the s_server ands_client to talk on an alternative port.=====s_client.This program can be used to connect to any IP/hostname:port that istalking SSL.  Once connected, it will attempt to authenticate thecertificate it was passed and if everything works as expected, a 2directional channel will be open.  Any text typed will be sent to theother end.  type Q<cr> to exit.  Flags are as follows.-host arg	: Arg is the host or IP address to connect to.-port arg	: Arg is the port to connect to (https is 443).-verify arg	: Turn on authentication of the server certificate.		: Arg specifies the 'depth', this will covered below.-cert arg	: The optional certificate to use.  This certificate		: will be returned to the server if the server		: requests it for client authentication.-key arg	: The private key that matches the certificate		: specified by the -cert option.  If this is not		: specified (but -cert is), the -cert file will be		: searched for the Private key.  Both files are		: assumed to be in PEM format.-CApath arg	: When to look for certificates when 'verifying' the		: certificate from the server.-CAfile arg	: A file containing certificates to be used for		: 'verifying' the server certificate.-reconnect	: Once a connection has been made, drop it and		: reconnect with same session-id.  This is for testing :-).The '-verify n' parameter specifies not only to verify the serverscertificate but to also only take notice of 'n' levels.  The best wayto explain is to show via examples.Givens_server -cert server.PEM is running.s_client	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo server	issuer= /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify error:num=1:unable to get issuer certificate	verify return:1	CIPHER is CBC-DES-MD5What has happened is that the 'SSLeay demo server' certificate'sissuer ('CA') could not be found but because verify is not on, wedon't care and the connection has been made anyway.  It is now 'up'using CBC-DES-MD5 mode.  This is an unauthenticate secure channel.You may not be talking to the right person but the data going to themis encrypted.s_client -verify 0	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo server	issuer= /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify error:num=1:unable to get issuer certificate	verify return:1	CIPHER is CBC-DES-MD5We are 'verifying' but only to depth 0, so since the 'SSLeay demo server'certificate passed the date and checksum, we are happy to proceed.s_client -verify 1	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo server	issuer= /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify error:num=1:unable to get issuer certificate	verify return:0	ERROR	verify error:unable to get issuer certificateIn this case we failed to make the connection because we could notauthenticate the certificate because we could not find the'CA' certificate.s_client -verify 1 -CAfile eay1024.PEM	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo server	verify return:1	depth=1 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify return:1	CIPHER is CBC-DES-MD5We loaded the certificates from the file eay1024.PEM.  Everythingchecked out and so we made the connection.s_client -verify 1 -CApath .	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo server	verify return:1	depth=1 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify return:1	CIPHER is CBC-DES-MD5We looked in out local directory for issuer certificates and 'found'a8556381.0 and so everything is ok.It is worth noting that 'CA' is a self certified certificate.  If youare passed one of these, it will fail to 'verify' at depth 0 becausewe need to lookup the certifier of a certificate from some informationthat we trust and keep locally.SSL_CIPHER=CBC3-DES-MD5:RC4-MD5export SSL_CIPHERs_client -verify 10 -CApath . -reconnect	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo server	verify return:1	depth=1 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify return:1	drop the connection and reconnect with the same session id	CIPHER is CBC3-DES-MD5This has done a full connection and then re-estabished it with thesame session id but a new socket.  No RSA stuff occures on the secondconnection.  Note that we said we would prefer to use CBC3-DES-MD5encryption and so, since the server supports it, we are.=====s_serverThis program accepts SSL connections on a specified portOnce connected, it will estabish an SSL connection and optionalyattempt to authenticate the client.  A 2 directional channel will beopen.  Any text typed will be sent to the other end.  Type Q<cr> to exit.Flags are as follows.-port arg	: Arg is the port to listen on.-verify arg	: Turn on authentication of the client if they have a		: certificate.  Arg specifies the 'depth'.-Verify arg	: Turn on authentication of the client. If they don't		: have a valid certificate, drop the connection.-cert arg	: The certificate to use.  This certificate		: will be passed to the client.  If it is not		: specified, it will default to server.PEM-key arg	: The private key that matches the certificate		: specified by the -cert option.  If this is not		: specified (but -cert is), the -cert file will be		: searched for the Private key.  Both files are		: assumed to be in PEM format.  Default is server.PEM-CApath arg	: When to look for certificates when 'verifying' the		: certificate from the client.-CAfile arg	: A file containing certificates to be used for		: 'verifying' the client certificate.For the following 'demo'  I will specify the s_server command andthe s_client command and then list the output from the s_server.s_servers_client	CONNECTED	CIPHER is CBC-DES-MD5Everything up and runnings_server -verify 0s_client  	CONNECTED	CIPHER is CBC-DES-MD5Ok since no certificate was returned and we don't care.s_server -verify 0./s_client -cert client.PEM	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo client	issuer= /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify error:num=1:unable to get issuer certificate	verify return:1	CIPHER is CBC-DES-MD5Ok since we were only verifying to level 0s_server -verify 4s_client -cert client.PEM	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo client	issuer= /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify error:num=1:unable to get issuer certificate	verify return:0	ERROR	verify error:unable to get issuer certificateBad because we could not authenticate the returned certificate.s_server -verify 4 -CApath .s_client -cert client.PEM	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo client	verify return:1	depth=1 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify return:1	CIPHER is CBC-DES-MD5Ok because we could authenticate the returned certificate :-).s_server -Verify 0 -CApath .s_client	CONNECTED	ERROR	SSL error:function is:REQUEST_CERTIFICATE		 :error is   :client end did not return a certificateError because no certificate returned.s_server -Verify 4 -CApath .s_client -cert client.PEM	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo client	verify return:1	depth=1 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify return:1	CIPHER is CBC-DES-MD5Full authentication of the client.So in summary to do full authentication of both endss_server -Verify 9 -CApath .s_client -cert client.PEM -CApath . -verify 9From the server side	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo client	verify return:1	depth=1 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify return:1	CIPHER is CBC-DES-MD5From the client side	CONNECTED	depth=0 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=SSLeay demo server	verify return:1	depth=1 /C=AU/SOP=QLD/O=Mincom Pty. Ltd./OU=CS/CN=CA	verify return:1	CIPHER is CBC-DES-MD5For general probing of the 'internet https' servers for thedistribution area, runs_client -host www.netscape.com -port 443 -verify 4 -CApath ../rsa/hashThen enterGET /and you should be talking to the https server on that host.www.rsa.com was refusing to respond to connections on 443 when I wastesting.have fun :-).eric

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -