<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-978</id>
	<title>Nabble - OpenSSL</title>
	<updated>2009-11-09T01:00:01Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/OpenSSL-f978.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OpenSSL-f978.html" />
	<subtitle type="html">The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library. OpenSSL home is &lt;a href=&quot;http://www.openssl.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26263524</id>
	<title>Renegotiation behavior in 0.9.8l</title>
	<published>2009-11-09T01:00:01Z</published>
	<updated>2009-11-09T01:00:01Z</updated>
	<author>
		<name>Tomas Hoger-3</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;br&gt;Can anyone please clarify what is the intended renegotiation behavior in
&lt;br&gt;openssl 0.9.8l and later? &amp;nbsp;Judging from the cn18790, original intention
&lt;br&gt;was for the server to generate fatal alert and break connection when
&lt;br&gt;renegotiation Client Hello is received.
&lt;br&gt;&lt;br&gt;Following cn18794 changed that however. &amp;nbsp;After receiving Client Hello,
&lt;br&gt;server sends no reply to the client, calls SSL_clear and read-block in
&lt;br&gt;an attempt to read Hello. &amp;nbsp;So both client and server are trying to read
&lt;br&gt;from the connection and neither detects the connection is not usable
&lt;br&gt;any more.
&lt;br&gt;&lt;br&gt;Note: If you're curious, the same occurs when server sets
&lt;br&gt;SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS flag when using 0.9.8k.
&lt;br&gt;&lt;br&gt;Additionally, cn18804 completely reverts cn18790.
&lt;br&gt;&lt;br&gt;So my questions are:
&lt;br&gt;- Is that intended behavior? &amp;nbsp;Is server not sending alert on purpose?
&lt;br&gt;- Is SSL3_FLAGS_ALLOW_UNSAFE_LEGACY_RENEGOTIATION going to stay or
&lt;br&gt;&amp;nbsp; disappear with the addition of reneg extension?
&lt;br&gt;- Will all renegotiations remain banned by default even in versions
&lt;br&gt;&amp;nbsp; with reneg extension implemented?
&lt;br&gt;- In 0.9.8l, when server calls SSL_renegotiate / SSL_do_handshake, no
&lt;br&gt;&amp;nbsp; Hello Request is sent. &amp;nbsp;Will this behavior remain the same in future
&lt;br&gt;&amp;nbsp; versions?
&lt;br&gt;&lt;br&gt;Thanks for clarifications!
&lt;br&gt;&lt;br&gt;th.
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26263524&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26263524&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---Dev-f980.html&quot; embed=&quot;fixTarget[980]&quot; target=&quot;_top&quot; &gt;OpenSSL - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Renegotiation-behavior-in-0.9.8l-tp26263524p26263524.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26262845</id>
	<title>RE: Certificate - if &quot;Extended Key Usage&quot; is defined, openssl ignore &quot;Key Usage&quot;</title>
	<published>2009-11-09T00:39:37Z</published>
	<updated>2009-11-09T00:39:37Z</updated>
	<author>
		<name>Beneš Vladimír</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; we use PKCS#7 signature format; please see attachement of my initial mail (there are signing certificate, signature, signed data and issuer certificate) - &lt;a href=&quot;http://marc.info/?l=openssl-users&amp;m=125751029707705&amp;w=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://marc.info/?l=openssl-users&amp;m=125751029707705&amp;w=1&lt;/a&gt;&amp;nbsp;(attachment.zip).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; There are calling openssl for signature ano / or certificate verification by using meantioned files on this mail too.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; We use command line only for calling openssl, so we cann't directly control X509_STORE.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; I'am afraid we cann't call no modified openssl by command line for verification signature with purpose verification certificate if certificate includes both X509v3 Key Usage and X509v3 Extended Key Usage.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; There is &amp;quot;Digital Signature&amp;quot; value on X509v3 Key Usage so imho openssl wouldn't return error &amp;quot;unsupported certificate purpose&amp;quot; becouse this certificate can be used for digital signing.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Imho issuer created this certificate correctly and this certificate can be used for digital signing.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thank you V. Benes
&lt;br&gt;&lt;br&gt;-----Original Message-----
&lt;br&gt;From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262845&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;owner-openssl-users@...&lt;/a&gt; [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262845&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;owner-openssl-users@...&lt;/a&gt;] On Behalf Of Dr. Stephen Henson
&lt;br&gt;Sent: Friday, November 06, 2009 6:08 PM
&lt;br&gt;To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262845&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Subject: Re: Certificate - if &amp;quot;Extended Key Usage&amp;quot; is defined, openssl ignore &amp;quot;Key Usage&amp;quot;
&lt;br&gt;&lt;br&gt;On Fri, Nov 06, 2009, Bene? Vladimr wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; we have no influence to issuer. &amp;nbsp;Issuer is a standard Certification
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Authority on Czech Republic (&lt;a href=&quot;http://www.ica.cz/gb/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ica.cz/gb/&lt;/a&gt;). &amp;nbsp;Signature is
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; valid, certificate is valid too and can be used for create digital
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; signature.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; So our program now verifies signatures by example 2 and example 3
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (instead example 1): extra signature without certificate test and
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; extra certificate test without purpose test. &amp;nbsp;But it is not pure
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; solution becouse purpose of certifikace is not tested.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Pure solution is by example 1 or example 2 + 4 (it's equal). But
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; openssl reports below mentioned problem.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;You don't mention what kind of signature but I'd guess S/MIME using PKCS#7 or
&lt;br&gt;CMS. By default that is checked for the email purpose which is why you get the
&lt;br&gt;error. If you want an alternative purpose you can set that at the X509_STORE
&lt;br&gt;level or on the command line.
&lt;br&gt;&lt;br&gt;Steve.
&lt;br&gt;--
&lt;br&gt;Dr Stephen N. Henson. OpenSSL project core developer.
&lt;br&gt;Commercial tech support now available see: &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262845&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262845&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262845&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262845&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Certificate---if-%22Extended-Key-Usage%22-is-defined%2C-openssl-ignore-%22Key-Usage%22-tp26231210p26262845.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26262611</id>
	<title>Re: Signature Verification</title>
	<published>2009-11-09T00:15:46Z</published>
	<updated>2009-11-09T00:15:46Z</updated>
	<author>
		<name>Jim Welch-3</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Based on information and suggestions you have given me, I came at the 
&lt;br&gt;problem from a different direction. &amp;nbsp;Instead of trying to verify the 
&lt;br&gt;signature, I tried using out private key to sign the original data. &amp;nbsp;After a 
&lt;br&gt;couple of hours, I suceeded in getting the same signature as was supplied in 
&lt;br&gt;the signed message. &amp;nbsp;I then used this information to verify the signature 
&lt;br&gt;just created. &amp;nbsp;Just a small amount of more work yielded a routine that 
&lt;br&gt;worked in taking the signed file, parsing it and verifying the signature. 
&lt;br&gt;Here's a copy of the final verification code. &amp;nbsp;xmlDat is the original xml 
&lt;br&gt;file string and sigDat is the signature received.
&lt;br&gt;&lt;br&gt;// Read public key
&lt;br&gt;&lt;br&gt;&amp;nbsp;fp = fopen (filePubKey, &amp;quot;r&amp;quot;);
&lt;br&gt;&amp;nbsp;if (fp == NULL)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; printf(&amp;quot;Didn't work 1\n&amp;quot;);
&lt;br&gt;&amp;nbsp; return(1);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;pkey = PEM_read_PUBKEY(fp, NULL, NULL, NULL);
&lt;br&gt;&amp;nbsp;fclose (fp);
&lt;br&gt;&lt;br&gt;&amp;nbsp;if (pkey == NULL)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; printf(&amp;quot;Didn't work 2\n&amp;quot;);
&lt;br&gt;&amp;nbsp; return(2);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;&amp;nbsp;sigDatEnc = g_base64_decode( sigDat, &amp;sigDatLen);
&lt;br&gt;&amp;nbsp;EVP_VerifyInit(&amp;md_ctx, EVP_sha512());
&lt;br&gt;&amp;nbsp;EVP_VerifyUpdate(&amp;md_ctx, xmlDat, strlen(xmlDat));
&lt;br&gt;&amp;nbsp;err = EVP_VerifyFinal (&amp;md_ctx, sigDatEnc, sigDatLen, pkey);
&lt;br&gt;// g_free(sigDatEnc);
&lt;br&gt;&amp;nbsp;free(sigDatEnc); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// looked up g_free and it seems to just do a 
&lt;br&gt;free()
&lt;br&gt;&amp;nbsp;EVP_PKEY_free (pkey);
&lt;br&gt;&lt;br&gt;&amp;nbsp;if (err != 1)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;&amp;nbsp; printf(&amp;quot;Didn't Verify %d\n&amp;quot;, err);
&lt;br&gt;&amp;nbsp; return(2);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;printf (&amp;quot;Signature Verified Ok.\n&amp;quot;);
&lt;br&gt;&amp;nbsp;return(0);
&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks for everything.
&lt;br&gt;&lt;br&gt;Jim
&lt;br&gt;&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Mounir IDRASSI&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mounir.idrassi@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Sent: Saturday, November 07, 2009 4:09 AM
&lt;br&gt;Subject: Re: Signature Verification
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In order to help you further, can you post :
&lt;br&gt;&amp;gt; &amp;nbsp; - The data to be hashed which is the content of your variable xmlDat
&lt;br&gt;&amp;gt; &amp;nbsp; - The signature to be verified which is the content of your variable 
&lt;br&gt;&amp;gt; sigDat (maybe it's what you posted first)
&lt;br&gt;&amp;gt; &amp;nbsp; - The public key that will be used for the verification
&lt;br&gt;&amp;gt; &amp;nbsp; - The endianess of the the signature. It should be big endian as 
&lt;br&gt;&amp;gt; expected by OpenSSL
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; And just one last confirmation : In your first email, you posted some 
&lt;br&gt;&amp;gt; BASE64 data that you say is the signature. This data is 512 bytes long. So 
&lt;br&gt;&amp;gt; this would mean that the key used is a 4096 bit RSA key. Is this correct?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Mounir IDRASSI
&lt;br&gt;&amp;gt; IDRIX
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.idrix.fr&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.idrix.fr&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jim Welch wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hello Again,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The code is there to check for a non-null pkey. &amp;nbsp;It wasn't copied to keep 
&lt;br&gt;&amp;gt;&amp;gt; the original message shorter. &amp;nbsp;I've now made sure that I've Base64'd the 
&lt;br&gt;&amp;gt;&amp;gt; xml string and Base64'd the signature string. &amp;nbsp;These are what I'm giving 
&lt;br&gt;&amp;gt;&amp;gt; to the EVP_VerifyUpdate and EVP_VerifyFinal. &amp;nbsp;Still not verifying.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks Again,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Jim
&lt;br&gt;&amp;gt;&amp;gt; ----- Original Message ----- From: &amp;quot;Mounir IDRASSI&amp;quot; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mounir.idrassi@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; To: &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sent: Friday, November 06, 2009 5:11 PM
&lt;br&gt;&amp;gt;&amp;gt; Subject: Re: Signature Verification
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; You must also handle BASE64 decoding in EVP_VerifyUpdate not only 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; EVP_VerifyFinal. Those two functions must have as input the byte arrays 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that represent the binary data and the binary signature respectively.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Concerning PEM_read_PUBKEY, if it returns a non NULL pointer then 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; everything is OK with the public key and you don't have to worry.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -- 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Mounir IDRASSI
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; IDRIX
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.idrix.fr&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.idrix.fr&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jim Welch wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Thank you for the response. &amp;nbsp;It was sha512 not 256. &amp;nbsp;I changed it to 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; EVP_sha512 in the code but it still won't verify. &amp;nbsp;On the verify final, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I've tried it both with and without a Base64 converted string (and 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; corresponding length). &amp;nbsp;I'm not sure from what I've read if the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; PEM_read_PUBKEY does a Base64 conversion on the Public Key or not and 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I'm not sure where to look in the pkey to find out.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jim
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ----- Original Message ----- From: &amp;quot;Mounir IDRASSI&amp;quot; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mounir.idrassi@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To: &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sent: Friday, November 06, 2009 3:55 PM
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Subject: Re: Signature Verification
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; In your description you say that the signature was created with SHA256 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; but in your code you are using SHA-1 through EVP_sha1. Replace this 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; with EVP_sha256 to have a correct processing.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Also, your data seems to be BASE64 encoded and you are computing the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; digest directly on the BASE64 string. You should convert this BASE64 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; string to the corresponding byte array and then compute the digest on 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; this byte array.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I hope this will help.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; -- 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mounir IDRASSI
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; IDRIX
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.idrix.fr&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.idrix.fr&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jim Welch wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I've been trying to verify the signature from the following xml data:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;license_data&amp;gt;&amp;lt;version&amp;gt;1.0&amp;lt;/version&amp;gt;&amp;lt;serial&amp;gt;EC1000-0900018&amp;lt;/serial&amp;gt;&amp;lt;mac&amp;gt;00:54:66:18:3A:40&amp;lt;/mac&amp;gt;&amp;lt;module 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; code=&amp;quot;impedance&amp;quot;&amp;gt;&amp;lt;start&amp;gt;2000-01-01&amp;lt;/start&amp;gt;&amp;lt;end&amp;gt;2099-12-31&amp;lt;/end&amp;gt;&amp;lt;/module&amp;gt;&amp;lt;module 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; code=&amp;quot;multimeter&amp;quot;&amp;gt;&amp;lt;start&amp;gt;2000-01-01&amp;lt;/start&amp;gt;&amp;lt;end&amp;gt;2099-12-31&amp;lt;/end&amp;gt;&amp;lt;/module&amp;gt;&amp;lt;module 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; code=&amp;quot;sulfation&amp;quot;&amp;gt;&amp;lt;start&amp;gt;2000-01-01&amp;lt;/start&amp;gt;&amp;lt;end&amp;gt;2099-12-31&amp;lt;/end&amp;gt;&amp;lt;/module&amp;gt;&amp;lt;cookie&amp;gt;AA80A2A7119FD4F1C122080E1AD17490&amp;lt;/cookie&amp;gt;&amp;lt;/license_data&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; using this signature:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; C4S953HqB8S/SZ8nOO5IgGA0Vm3BxHT8vByWJFG2gn/OrBKc45QvjEdX855bb9p8KdSa1YQt3nnv
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; p6MCA+5YCDePEIuYpbTYzAIJ9p7zqpJsXzb8YlDpw4qpf0TSbCCEFZZReSRSAxlE2gH/SOvPAjRY
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ykvxbjrgMQ07Jf/ae4lX+CaBxA/Az8efhsBDyT6wCPECkj1SiufTtVA2MAt9Bf76Y1T5RnHph/kf
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hj3/osgrMKKbIPhii2nPktMH223QfgmTOtHxw21ahi2vcSnADb9p1WIjDiq/gLk0uisT/p0g4MZb
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; SKNOct3MRqgv64wtyUD+W/+8/yGQK+/IXNIhgKoKsvuwR242c7RpF+HdVZRrfeIQMnUAAo/7q+rS
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; AzRJO7L7xoXYvFOmVxvjRZP8Rhw445N6bnLwLxANFNvyoo5ykGdocBUEBMD5sC3TipYUti39mso2
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; dsqSMwtRhPDw9dzf6evwG3+Qo0ewLVap3pNu8XzBrXxCM6pv7IydmekiHvSF6OFrt/rPUA2pXyuU
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; njhD/twe0+n5fLlSTZ6w/D898e/blvFUroQbmaI8Rr7AE9fZY0KJBuc73YgPTXOnm4Iqc/5vMwId
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; j27g+JGWEzjyAtNIBo9Su0/9LE1IVPyZgAjquBEmKEAcQQjnW4D8kj2mllJLRwI00e1TAwE9Klo=
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; These two strings above are being sent from a server as one file 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; which I parse into the two separate strings making sure white space 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; has been removed from the xml as that was how it was signed. &amp;nbsp;The 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; signature was created with RSA &amp; SHA512.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I'm using a C program to verify and have tried numerous attemps with 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; no sucess. &amp;nbsp;The openssl release is 0.9.8k. &amp;nbsp;The vars sigDat and 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; xmlDat are the respective strings. &amp;nbsp;The code is as &amp;nbsp;follows (some 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; parts left out for simplicity):
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; fp = fopen (filePubKey, &amp;quot;r&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; pkey = PEM_read_PUBKEY(fp, NULL, NULL, NULL);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; EVP_VerifyInit (&amp;md_ctx, EVP_sha1());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; EVP_VerifyUpdate (&amp;md_ctx, xmlDat, strlen(xmlDat));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; err = EVP_VerifyFinal (&amp;md_ctx, sigDat, strlen(sigDat), pkey);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; EVP_PKEY_free (pkey);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Any ideas as to what is wrong. &amp;nbsp;Another part of the project here 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; involves java and the programmer working on that says that he can 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; verify the signature so I know that the data is correct.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Thank You,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jim Welch
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=12&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=13&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt; User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=14&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=15&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt; 
&lt;/div&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=16&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262611&amp;i=17&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Signature-Verification-tp26237240p26262611.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26262261</id>
	<title>Re: using Open SSL on MIPS platform</title>
	<published>2009-11-08T23:33:03Z</published>
	<updated>2009-11-08T23:33:03Z</updated>
	<author>
		<name>Akira Amore</name>
	</author>
	<content type="html">Ah! That makes so much sense, I wonder why I did not think of it :-)
&lt;br&gt;&lt;br&gt;thanks a lot for your help
&lt;br&gt;Akira
&lt;br&gt;&lt;br&gt;John R Pierce wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Akira Amore wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I'm trying to build rdesktop on a Fedora Core 8 system using 
&lt;br&gt;&amp;gt;&amp;gt; Tuxbuilder-1.0, targetted for a MIPS embedded system.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The rdesktop build throws the following error:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; /usr/include/openssl/opensslconf.h:27:2: error: #error &amp;quot;This 
&lt;br&gt;&amp;gt;&amp;gt; openssl-devel package does not work your architecture?&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Here are the openssl packages installed on my system:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; openssl-0.9.8b-17.fc8
&lt;br&gt;&amp;gt;&amp;gt; openssl-devel-0.9.8b-17.fc8
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Can someone clue me in on how to proceed?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm not familiar with Tuxbuilder, but if you're cross-compiling, 
&lt;br&gt;&amp;gt; targetting said embedded MIPS, you shouldn't be linking with the fc8 
&lt;br&gt;&amp;gt; openssl versions, you would need to build openssl in your MIPS tree 
&lt;br&gt;&amp;gt; suitable for your target platform.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt; User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262261&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262261&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262261&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262261&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/using-Open-SSL-on-MIPS-platform-tp26258663p26262261.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26261084</id>
	<title>Re: [Q] How to encrypt using DES?</title>
	<published>2009-11-08T19:06:33Z</published>
	<updated>2009-11-08T19:06:33Z</updated>
	<author>
		<name>JongAm Park-4</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;Thank you for your reply.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Is there any tutorial or code samples?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thank you.&lt;/div&gt;&lt;div&gt;JongAm Park&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;&lt;div&gt;On Nov 8, 2009, at 3:42 PM, Dr. Stephen Henson wrote:&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: monospace; &quot;&gt;EVP_EncryptInit_ex&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Q--How-to-encrypt-using-DES--tp26258972p26261084.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26261070</id>
	<title>Re: Revival of ERR_free_state_table / alt solution</title>
	<published>2009-11-08T18:28:14Z</published>
	<updated>2009-11-08T18:28:14Z</updated>
	<author>
		<name>Wim Lewis-3</name>
	</author>
	<content type="html">&lt;br&gt;On Oct 7, 2009, at 8:19 AM, Thomas Harning Jr. wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I'm writing a browser and a library that use OpenSSL for cryptography
&lt;br&gt;&amp;gt; support. &amp;nbsp;I want to best be able to fully cleanup state when my
&lt;br&gt;&amp;gt; plugin/library is unloaded, however it seems to me that it's not
&lt;br&gt;&amp;gt; possible to clear out all thread-associated error state since I'm not
&lt;br&gt;&amp;gt; managing the threads accessing my code.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Example:
&lt;br&gt;&amp;gt; Thread A - loads plugin
&lt;br&gt;&amp;gt; Thread B - access plugin code (note: thread-safe)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;plugin code raises OpenSSL error... cleans out error stack
&lt;br&gt;&amp;gt; after reporting
&lt;br&gt;&amp;gt; Thread A - unloads plugin, tries to cleanup OpenSSL
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thread B's actual state is not freed since it is unknown to the plugin
&lt;br&gt;&amp;gt; code whether a given thread is &amp;quot;done&amp;quot; accessing code. &amp;nbsp;In thread A
&lt;br&gt;&amp;gt; during shutdown, it only knows about thread A and the need to clean
&lt;br&gt;&amp;gt; it's state.
&lt;/div&gt;&lt;br&gt;I may be completely clueless here, but since no one else has replied: &amp;nbsp;
&lt;br&gt;does ERR_remove_thread_state(NULL) (previously ERR_remove_state(0)) do &amp;nbsp;
&lt;br&gt;what you need? You'd need to call it in thread B, and as a result &amp;nbsp;
&lt;br&gt;you'd end up creating and destroying the thread state each time you &amp;nbsp;
&lt;br&gt;get invoked, but...
&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26261070&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26261070&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Revival-of-ERR_free_state_table---alt-solution-tp25794008p26261070.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26261079</id>
	<title>Re: Memory leaks...</title>
	<published>2009-11-08T18:04:20Z</published>
	<updated>2009-11-08T18:04:20Z</updated>
	<author>
		<name>Wim Lewis-3</name>
	</author>
	<content type="html">&lt;br&gt;On Nov 7, 2009, at 2:50 PM, barcaroller wrote:
&lt;br&gt;&amp;gt; I'm getting some memory leaks when I use OpenSSL. &amp;nbsp;I was not able to &amp;nbsp;
&lt;br&gt;&amp;gt; get rid
&lt;br&gt;&amp;gt; of these leaks, even when I use EVP_cleanup() and ERR_free_strings() &amp;nbsp;
&lt;br&gt;&amp;gt; at the
&lt;br&gt;&amp;gt; end of my program.
&lt;br&gt;[....]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;==27769== 24 bytes in 1 blocks are still reachable in loss record &amp;nbsp;
&lt;br&gt;&amp;gt; 2 of 20
&lt;br&gt;&lt;br&gt;I'm guessing these are all ENGINEs which were lazily created the first &amp;nbsp;
&lt;br&gt;time they were needed. Notice that they're &amp;quot;still reachable&amp;quot;, so &amp;nbsp;
&lt;br&gt;they're not necessarily leaks in the usual sense. Have you tried &amp;nbsp;
&lt;br&gt;calling ENGINE_cleanup()?
&lt;br&gt;&lt;br&gt;The apps.h header in the openssl distribution has a macro which uses &amp;nbsp;
&lt;br&gt;this sequence for shutdown:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;CONF_modules_unload(1);
&lt;br&gt;&amp;nbsp; &amp;nbsp;EVP_cleanup();
&lt;br&gt;&amp;nbsp; &amp;nbsp;ENGINE_cleanup();
&lt;br&gt;&amp;nbsp; &amp;nbsp;CRYPTO_cleanup_all_ex_data();
&lt;br&gt;&amp;nbsp; &amp;nbsp;ERR_remove_state(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp;ERR_free_strings();
&lt;br&gt;&lt;br&gt;Other cleanup methods include:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;OBJ_cleanup();
&lt;br&gt;&amp;nbsp; &amp;nbsp;COMP_zlib_cleanup();
&lt;br&gt;&amp;nbsp; &amp;nbsp;RAND_cleanup();
&lt;br&gt;&lt;br&gt;....but I'm rather unclear on which need to be called.
&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26261079&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26261079&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Memory-leaks...-tp26249417p26261079.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26259306</id>
	<title>Re: [Q] How to encrypt using DES?</title>
	<published>2009-11-08T15:42:55Z</published>
	<updated>2009-11-08T15:42:55Z</updated>
	<author>
		<name>Dr. Stephen Henson</name>
	</author>
	<content type="html">On Sun, Nov 08, 2009, JongAm Park wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Hello. May I ask how to encrypt a key in DES?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; According to its MAN page, it says to generate a DES_key_schedule first, 
&lt;br&gt;&amp;gt; and do the actual encryption.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Actually I'd say you're beginning from the wrong place. The low level APIs
&lt;br&gt;like DES shouldn't really be used directly if at all possible. If you start
&lt;br&gt;with the higher level EVP_EncryptInit_ex() API you should find it easier: that
&lt;br&gt;is a common interface to all ciphers.
&lt;br&gt;&lt;br&gt;Steve.
&lt;br&gt;--
&lt;br&gt;Dr Stephen N. Henson. OpenSSL project core developer.
&lt;br&gt;Commercial tech support now available see: &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26259306&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26259306&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Q--How-to-encrypt-using-DES--tp26258972p26259306.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26259295</id>
	<title>about the security of a tipical client/server application.</title>
	<published>2009-11-08T15:42:51Z</published>
	<updated>2009-11-08T15:42:51Z</updated>
	<author>
		<name>Kirk81</name>
	</author>
	<content type="html">Hello people,
&lt;br&gt;&lt;br&gt;since all of you seem quite familiary with criptography and its tools I would like to ask u something.
&lt;br&gt;&lt;br&gt;I'm implementing a server/client application: the client has to collect data and send them to the server in a frame format (unidirectional connection). In any frame, I added a &lt;i&gt;special field&lt;/i&gt;&amp;nbsp;for digital signature (I'm not considering a PKI). Actually, I'm using the RSA signature mechanism (&lt;b&gt;hash and sign&lt;/b&gt;&amp;nbsp;paradigm) with a RSA-512 bit key and the SHA-256. The reason is that I need some &lt;i&gt;speed&lt;/i&gt;&amp;nbsp;and I don't wanna add too many bytes in my frame (with this set-up i'm &lt;i&gt;only&lt;/i&gt;&amp;nbsp;adding 64 bytes).
&lt;br&gt;Supposing that I'm sending 1000 messages every day 
&lt;br&gt;&lt;br&gt;The frame also presents a &lt;i&gt;time field&lt;/i&gt;&amp;nbsp;which represents when the frame was formatted and a &lt;i&gt;sample count field&lt;/i&gt;&amp;nbsp;which is repeated any second: this should be avoid a replay-attack. 
&lt;br&gt;&lt;br&gt;The man-in-the-middle attack, the integry and the non-repudation mechanism should be countered by the digital signature.
&lt;br&gt;&lt;br&gt;I'm pretty sure that the weakness of all the mechanism is the key-length and I'd like to avoid the brute force attack or the worst birthday attack...so here's my questions. 
&lt;br&gt;&lt;br&gt;1. For how many days can I use a 512-bit key? Should I worry first about the factorization problem or the fact that my adversary can recover the key from the messages I sent? Can someone explain them with any numerical examples?
&lt;br&gt;&lt;br&gt;2. Are there other attacks (or troubles) I should consider? 
&lt;br&gt;&lt;br&gt;Thanks in advance,
&lt;br&gt;&lt;br&gt;Kirk
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/about-the-security-of-a-tipical-client-server-application.-tp26259295p26259295.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26259099</id>
	<title>Re: using Open SSL on MIPS platform</title>
	<published>2009-11-08T15:13:02Z</published>
	<updated>2009-11-08T15:13:02Z</updated>
	<author>
		<name>John R Pierce</name>
	</author>
	<content type="html">Akira Amore wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm trying to build rdesktop on a Fedora Core 8 system using 
&lt;br&gt;&amp;gt; Tuxbuilder-1.0, targetted for a MIPS embedded system.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The rdesktop build throws the following error:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; /usr/include/openssl/opensslconf.h:27:2: error: #error &amp;quot;This 
&lt;br&gt;&amp;gt; openssl-devel package does not work your architecture?&amp;quot;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Here are the openssl packages installed on my system:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; openssl-0.9.8b-17.fc8
&lt;br&gt;&amp;gt; openssl-devel-0.9.8b-17.fc8
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Can someone clue me in on how to proceed?
&lt;/div&gt;&lt;br&gt;&lt;br&gt;I'm not familiar with Tuxbuilder, but if you're cross-compiling, 
&lt;br&gt;targetting said embedded MIPS, you shouldn't be linking with the fc8 
&lt;br&gt;openssl versions, you would need to build openssl in your MIPS tree 
&lt;br&gt;suitable for your target platform.
&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26259099&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26259099&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/using-Open-SSL-on-MIPS-platform-tp26258663p26259099.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26258972</id>
	<title>[Q] How to encrypt using DES?</title>
	<published>2009-11-08T15:00:45Z</published>
	<updated>2009-11-08T15:00:45Z</updated>
	<author>
		<name>JongAm Park-4</name>
	</author>
	<content type="html">Hello. May I ask how to encrypt a key in DES?
&lt;br&gt;&lt;br&gt;According to its MAN page, it says to generate a DES_key_schedule &amp;nbsp;
&lt;br&gt;first, and do the actual encryption.
&lt;br&gt;&lt;br&gt;So, I called functions like this.
&lt;br&gt;&lt;br&gt;&lt;br&gt;DES_cblock aKey;
&lt;br&gt;&lt;br&gt;DES_random_key( &amp;aKey );
&lt;br&gt;&lt;br&gt;DES_key_schedule keySchedule;
&lt;br&gt;int result;
&lt;br&gt;&lt;br&gt;result = DES_set_key_checked( &amp;aKey, &amp;keySchedule );
&lt;br&gt;&lt;br&gt;DES_ecb_encrypt( ?, ?, &amp;keySchedule);
&lt;br&gt;&lt;br&gt;So, to encrypt an original string to cyphertext, the 1st parameter &amp;nbsp;
&lt;br&gt;seems to contain the original text.
&lt;br&gt;However, it should be of type DES_cblock or const_DES_cblock. Then is &amp;nbsp;
&lt;br&gt;it same to the &amp;quot;aKey&amp;quot;?
&lt;br&gt;Then how to seed the key, &amp;quot;aKey&amp;quot;?
&lt;br&gt;&lt;br&gt;Or if I try this..
&lt;br&gt;&lt;br&gt;DES_cblock inputBlock = {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'E', 'n', 'c', 'o', 'd', 'e', 'M', 'e'	
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;DES_cblock outputBlock;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;DES_key_schedule keySchedule;
&lt;br&gt;&lt;br&gt;int result;
&lt;br&gt;result = DES_set_key_checked( &amp;inputBlock, &amp;keySchedule );
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;DES_ecb_encrypt( &amp;inputBlock, &amp;outputBlock, &amp;keySchedule, DES_ENCRYPT );
&lt;br&gt;&lt;br&gt;The result is -1 when the DES_set_key_checked() is called. Should I &amp;nbsp;
&lt;br&gt;use DES_set_key_unchecked()?
&lt;br&gt;&lt;br&gt;I would appreciate any help.
&lt;br&gt;I am lost totally!
&lt;br&gt;&lt;br&gt;JongAm Park
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26258972&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26258972&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Q--How-to-encrypt-using-DES--tp26258972p26258972.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26258869</id>
	<title>[Q] Tutorial or Explanation how to use OpenSSL library functions?</title>
	<published>2009-11-08T14:40:16Z</published>
	<updated>2009-11-08T14:40:16Z</updated>
	<author>
		<name>JongAm Park-4</name>
	</author>
	<content type="html">Hello, I am just a beginner at using OpenSSL library.
&lt;br&gt;I write in C/C++ and Objective-C. After looking up the OpenSSL web &amp;nbsp;
&lt;br&gt;site, I found out that there was no document for studying how to use it.
&lt;br&gt;Is there any good source like sample codes, tutorial and so on?
&lt;br&gt;&lt;br&gt;Thank you in advance.
&lt;br&gt;JongAm Park
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26258869&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26258869&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Q--Tutorial-or-Explanation-how-to-use-OpenSSL-library-functions--tp26258869p26258869.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26258845</id>
	<title>[Q] Where is this DES_check_key flag can be set?</title>
	<published>2009-11-08T14:38:32Z</published>
	<updated>2009-11-08T14:38:32Z</updated>
	<author>
		<name>JongAm Park-4</name>
	</author>
	<content type="html">Hello.
&lt;br&gt;&lt;br&gt;I tried using OpenSSL library for encrypting a string in DES using &amp;nbsp;
&lt;br&gt;OpenSSL.
&lt;br&gt;However, I found out that it was very difficult to understand what to &amp;nbsp;
&lt;br&gt;do by reading MAN page for the DES portion of the OpenSSL.
&lt;br&gt;&lt;br&gt;One thing I can't figure out is :
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DES_set_key() works like DES_set_key_checked() if the DES_check_key &amp;nbsp;
&lt;br&gt;flag is non-zero, otherwise like DES_set_key_unchecked().
&lt;br&gt;&lt;br&gt;How is the DES_check_key flag set? There seems to be no function or &amp;nbsp;
&lt;br&gt;data structure where the DES_check_key flag is supposed to be specified.
&lt;br&gt;&lt;br&gt;Thank you.
&lt;br&gt;JongAm Park
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26258845&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26258845&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Q--Where-is-this-DES_check_key-flag-can-be-set--tp26258845p26258845.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26258663</id>
	<title>using Open SSL on MIPS platform</title>
	<published>2009-11-08T14:14:35Z</published>
	<updated>2009-11-08T14:14:35Z</updated>
	<author>
		<name>Akira Amore</name>
	</author>
	<content type="html">Hi,&lt;br&gt;&lt;br&gt;I&amp;#39;m trying to build rdesktop on a Fedora Core 8 system using Tuxbuilder-1.0, targetted for a MIPS embedded system.&lt;br&gt;&lt;br&gt;The rdesktop build throws the following error:&lt;br&gt;&lt;br&gt;/usr/include/openssl/opensslconf.h:27:2: error: #error &amp;quot;This openssl-devel package does not work your architecture?&amp;quot;&lt;br&gt;
&lt;br&gt;Here are the openssl packages installed on my system:&lt;br&gt;&lt;br&gt;openssl-0.9.8b-17.fc8&lt;br&gt;openssl-devel-0.9.8b-17.fc8&lt;br&gt;&lt;br&gt;Can someone clue me in on how to proceed?&lt;br&gt;&lt;br&gt;thanks for your help&lt;br&gt;&lt;br&gt;Akira
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/using-Open-SSL-on-MIPS-platform-tp26258663p26258663.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26262698</id>
	<title>Stunnel 4.28 released</title>
	<published>2009-11-08T12:47:04Z</published>
	<updated>2009-11-08T12:47:04Z</updated>
	<author>
		<name>Michal Trojnara</name>
	</author>
	<content type="html">The ChangeLog entry:
&lt;br&gt;&lt;br&gt;Version 4.28, 2009.11.08, urgency: MEDIUM:
&lt;br&gt;* New features
&lt;br&gt;&amp;nbsp; &amp;nbsp;- Win32 DLLs for OpenSSL 0.9.8l.
&lt;br&gt;&amp;nbsp; &amp;nbsp;- Transparent proxy support on Linux kernels &amp;gt;=2.6.28.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;See the manual for details.
&lt;br&gt;&amp;nbsp; &amp;nbsp;- New socket options to control TCP keepalive on Linux:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL.
&lt;br&gt;&amp;nbsp; &amp;nbsp;- SSL options updated for the recent version of OpenSSL library.
&lt;br&gt;* Bugfixes
&lt;br&gt;&amp;nbsp; &amp;nbsp;- A serious bug in asynchronous shutdown code fixed.
&lt;br&gt;&amp;nbsp; &amp;nbsp;- Data alignment updated in libwrap.c.
&lt;br&gt;&amp;nbsp; &amp;nbsp;- Polish manual encoding fixed.
&lt;br&gt;&amp;nbsp; &amp;nbsp;- Notes on compression implementation in OpenSSL added to the manual.
&lt;br&gt;&lt;br&gt;SHA-1 value for stunnel-4.28.tar.gz:
&lt;br&gt;868cba9ec56ed6a02c8ecfa2a87614b4d433611b
&lt;br&gt;&lt;br&gt;Home page: &lt;a href=&quot;http://stunnel.mirt.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://stunnel.mirt.net/&lt;/a&gt;&lt;br&gt;Download: ftp://stunnel.mirt.net/stunnel/
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Michal Trojnara
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262698&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26262698&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Stunnel-4.28-released-tp26262698p26262698.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26255500</id>
	<title>Re: interface stability</title>
	<published>2009-11-08T08:52:43Z</published>
	<updated>2009-11-08T08:52:43Z</updated>
	<author>
		<name>Dr. Stephen Henson</name>
	</author>
	<content type="html">On Sun, Nov 08, 2009, David Woodhouse wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I'm still trying to understand what this actually means in practice, and
&lt;br&gt;&amp;gt; who the target audience is for the various branches.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Presumably, most of the conservative OS distributions (Solaris,
&lt;br&gt;&amp;gt; &amp;quot;Enterprise&amp;quot; Linux distros, various BSDs) will stick with 0.9.8 for the
&lt;br&gt;&amp;gt; time being.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Those who are more versatile will be updating to 1.0.x -- some of them
&lt;br&gt;&amp;gt; like Fedora are there already, in fact.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So is there really any point in a 0.9.10 release? Who would actually
&lt;br&gt;&amp;gt; want to use that, and what would be in it?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; In the meantime, there are people who are trying to get features into
&lt;br&gt;&amp;gt; the codebase that people actually use -- Intel's AES-NI support, IBM's
&lt;br&gt;&amp;gt; AES-GCM/AES-CCM/CMAC, etc.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The normal response from distributions is, quite reasonably, &amp;quot;get it
&lt;br&gt;&amp;gt; into 0.9.8 upstream and then we'll talk&amp;quot;. Which is obviously not such a
&lt;br&gt;&amp;gt; realistic proposition any more -- so what happens next?
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;The aim of the 0.9.10 release (and the 1.0.1 release) is to allow new features
&lt;br&gt;to be added more quickly than a major release and to reduce the possibility
&lt;br&gt;of introducing problems in a stable release.
&lt;br&gt;&lt;br&gt;When we want to add a new feature to OpenSSL in the old scheme it could go
&lt;br&gt;into HEAD and it would become part of the next major release.
&lt;br&gt;&lt;br&gt;However major releases only occur every few years and there was a need to be
&lt;br&gt;able to add features more quickly which didn't break binary compatibility.
&lt;br&gt;&lt;br&gt;So the idea was to separate the bugfix and &amp;quot;timely new feature&amp;quot; versions.
&lt;br&gt;&lt;br&gt;So someone who wishes maximum compatibility and least risk of any problems
&lt;br&gt;would stick with the letter changes. 
&lt;br&gt;&lt;br&gt;Those who want newer features with small risk issues would go with final
&lt;br&gt;number changes that is 1.0.1, 1.0.2. If there was a need to add such features
&lt;br&gt;to the 0.9.8-stable branch (for example that's the only version which can be
&lt;br&gt;currently used with the FIPS140-2 validated module) it would go into 0.9.10
&lt;br&gt;that may not happen and there may not be a 0.9.10 at all.
&lt;br&gt;&lt;br&gt;Finally bleeding edge major changes for developers or users who can live with
&lt;br&gt;possibly unstable and occasionally uncompilable code can stick with the
&lt;br&gt;unstable branch which will be 1.1.0 and later.
&lt;br&gt;&lt;br&gt;The various AES features you mentioned would be candidates for 1.0.1.
&lt;br&gt;&lt;br&gt;It was hoped that the final or penultimate beta of 1.0.0 would be out by now
&lt;br&gt;but the renegotiation issues have thrown everyones schedules off.
&lt;br&gt;&lt;br&gt;Steve.
&lt;br&gt;--
&lt;br&gt;Dr Stephen N. Henson. OpenSSL project core developer.
&lt;br&gt;Commercial tech support now available see: &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26255500&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26255500&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---Dev-f980.html&quot; embed=&quot;fixTarget[980]&quot; target=&quot;_top&quot; &gt;OpenSSL - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/interface-stability-tp25239449p26255500.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26255243</id>
	<title>Re: interface stability</title>
	<published>2009-11-08T08:25:13Z</published>
	<updated>2009-11-08T08:25:13Z</updated>
	<author>
		<name>David Woodhouse</name>
	</author>
	<content type="html">On Fri, 2009-09-11 at 17:59 +0200, Dr. Stephen Henson wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Under the new versioning scheme letter changes will retain binary
&lt;br&gt;&amp;gt; compatibility. They will be bugfix only and no new features will be added.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; There wont be a 0.9.9 to avoid confusion with what we used to call &amp;quot;0.9.9&amp;quot;
&lt;br&gt;&amp;gt; which is now 1.0.0. So after 0.9.8 there may be a 0.9.10.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Changes to the last number i.e. 1.0.1 or 0.9.10 will retain backwards
&lt;br&gt;&amp;gt; compatibiity but new features can be added.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The middle number as has been noted wont guarantee binary compatibility,
&lt;br&gt;&amp;gt; however source compatibility will be largely maintained though use of some
&lt;br&gt;&amp;gt; deprecated features may be phased out long term. We only make such releases
&lt;br&gt;&amp;gt; every few years. 
&lt;/div&gt;&lt;br&gt;I'm still trying to understand what this actually means in practice, and
&lt;br&gt;who the target audience is for the various branches.
&lt;br&gt;&lt;br&gt;Presumably, most of the conservative OS distributions (Solaris,
&lt;br&gt;&amp;quot;Enterprise&amp;quot; Linux distros, various BSDs) will stick with 0.9.8 for the
&lt;br&gt;time being.
&lt;br&gt;&lt;br&gt;Those who are more versatile will be updating to 1.0.x -- some of them
&lt;br&gt;like Fedora are there already, in fact.
&lt;br&gt;&lt;br&gt;So is there really any point in a 0.9.10 release? Who would actually
&lt;br&gt;want to use that, and what would be in it?
&lt;br&gt;&lt;br&gt;In the meantime, there are people who are trying to get features into
&lt;br&gt;the codebase that people actually use -- Intel's AES-NI support, IBM's
&lt;br&gt;AES-GCM/AES-CCM/CMAC, etc.
&lt;br&gt;&lt;br&gt;The normal response from distributions is, quite reasonably, &amp;quot;get it
&lt;br&gt;into 0.9.8 upstream and then we'll talk&amp;quot;. Which is obviously not such a
&lt;br&gt;realistic proposition any more -- so what happens next?
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;dwmw2
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26255243&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26255243&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---Dev-f980.html&quot; embed=&quot;fixTarget[980]&quot; target=&quot;_top&quot; &gt;OpenSSL - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/interface-stability-tp25239449p26255243.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26254786</id>
	<title>Re: Padding mode for RSA_private_decrypt()...</title>
	<published>2009-11-08T07:33:15Z</published>
	<updated>2009-11-08T07:33:15Z</updated>
	<author>
		<name>Mounir IDRASSI</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Which version of SSL/TLS are you talking about?
&lt;br&gt;To my knowledge, SSLV2, SSLV3 and TLS1.0 all use PKCS#1 Block Type 2 
&lt;br&gt;padding (in case of SSL V2 rollback, that last eight padding bytes are 
&lt;br&gt;not random and are set to 0x03 but this special case is detect at the 
&lt;br&gt;protocol level).
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;--
&lt;br&gt;Mounir IDRASSI
&lt;br&gt;IDRIX
&lt;br&gt;&lt;a href=&quot;http://www.idrix.fr&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.idrix.fr&lt;/a&gt;&lt;br&gt;&lt;br&gt;barcaroller wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;quot;Mounir IDRASSI&amp;quot; wrote in message ...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; You simply can't guess the padding mode if you don't know it in advance. 
&lt;br&gt;&amp;gt;&amp;gt; Imagine the security consequences if this was possible : it would mean 
&lt;br&gt;&amp;gt;&amp;gt; that an attacker can have information about the clear text without having 
&lt;br&gt;&amp;gt;&amp;gt; access to the private key!!
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Okay, but the SSL client uses RSA_public_encrypt() with a padding value that 
&lt;br&gt;&amp;gt; is unknown to the SSL server, which uses RSA_private_decrypt() later on. 
&lt;br&gt;&amp;gt; How can the SSL server know in advance what padding mode the SSL client is 
&lt;br&gt;&amp;gt; going to use?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt; User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254786&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254786&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254786&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254786&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Padding-mode-for-RSA_private_decrypt%28%29...-tp26249410p26254786.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26254747</id>
	<title>Re: Padding mode for RSA_private_decrypt()...</title>
	<published>2009-11-08T07:29:39Z</published>
	<updated>2009-11-08T07:29:39Z</updated>
	<author>
		<name>Michael S. Zick-4</name>
	</author>
	<content type="html">On Sun November 8 2009, barcaroller wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;quot;Mounir IDRASSI&amp;quot; wrote in message ...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; You simply can't guess the padding mode if you don't know it in advance. 
&lt;br&gt;&amp;gt; &amp;gt; Imagine the security consequences if this was possible : it would mean 
&lt;br&gt;&amp;gt; &amp;gt; that an attacker can have information about the clear text without having 
&lt;br&gt;&amp;gt; &amp;gt; access to the private key!!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Okay, but the SSL client uses RSA_public_encrypt() with a padding value that 
&lt;br&gt;&amp;gt; is unknown to the SSL server, which uses RSA_private_decrypt() later on. 
&lt;br&gt;&amp;gt; How can the SSL server know in advance what padding mode the SSL client is 
&lt;br&gt;&amp;gt; going to use?
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;The padding is added to the **plain text**
&lt;br&gt;After decryption, the server can determine the padding present.
&lt;br&gt;&lt;br&gt;Mike
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt; User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254747&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254747&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254747&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254747&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Padding-mode-for-RSA_private_decrypt%28%29...-tp26249410p26254747.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26254362</id>
	<title>Re: Padding mode for RSA_private_decrypt()...</title>
	<published>2009-11-08T06:41:42Z</published>
	<updated>2009-11-08T06:41:42Z</updated>
	<author>
		<name>barcaroller</name>
	</author>
	<content type="html">&lt;br&gt;&amp;quot;Mounir IDRASSI&amp;quot; wrote in message ...
&lt;br&gt;&lt;br&gt;&amp;gt; You simply can't guess the padding mode if you don't know it in advance. 
&lt;br&gt;&amp;gt; Imagine the security consequences if this was possible : it would mean 
&lt;br&gt;&amp;gt; that an attacker can have information about the clear text without having 
&lt;br&gt;&amp;gt; access to the private key!!
&lt;br&gt;&lt;br&gt;Okay, but the SSL client uses RSA_public_encrypt() with a padding value that 
&lt;br&gt;is unknown to the SSL server, which uses RSA_private_decrypt() later on. 
&lt;br&gt;How can the SSL server know in advance what padding mode the SSL client is 
&lt;br&gt;going to use?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254362&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254362&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Padding-mode-for-RSA_private_decrypt%28%29...-tp26249410p26254362.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26254415</id>
	<title>Bug up in openssl 0.9.8</title>
	<published>2009-11-08T06:39:43Z</published>
	<updated>2009-11-08T06:39:43Z</updated>
	<author>
		<name>The Doctor</name>
	</author>
	<content type="html">How does this effect openssl 1+ ?
&lt;br&gt;-- 
&lt;br&gt;Member - Liberal International	This is &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254415&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;doctor@...&lt;/a&gt; Ici &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254415&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;doctor@...&lt;/a&gt;
&lt;br&gt;God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! 
&lt;br&gt;&lt;a href=&quot;http://twitter.com/rootnl2k&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/rootnl2k&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.myspace.com/502748630&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.myspace.com/502748630&lt;/a&gt;&amp;nbsp;
&lt;br&gt;For the latest World News go to &lt;a href=&quot;http://www.cuttingedge.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cuttingedge.org/&lt;/a&gt;&amp;nbsp;- Lest we forget 2009 .
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254415&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254415&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---Dev-f980.html&quot; embed=&quot;fixTarget[980]&quot; target=&quot;_top&quot; &gt;OpenSSL - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bug-up-in-openssl-0.9.8-tp26254415p26254415.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26254421</id>
	<title>Bug up in openssl 0.9.8</title>
	<published>2009-11-08T06:39:43Z</published>
	<updated>2009-11-08T06:39:43Z</updated>
	<author>
		<name>The Doctor</name>
	</author>
	<content type="html">How does this effect openssl 1+ ?
&lt;br&gt;-- 
&lt;br&gt;Member - Liberal International	This is &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254421&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;doctor@...&lt;/a&gt; Ici &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254421&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;doctor@...&lt;/a&gt;
&lt;br&gt;God, Queen and country! Never Satan President Republic! Beware AntiChrist rising! 
&lt;br&gt;&lt;a href=&quot;http://twitter.com/rootnl2k&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/rootnl2k&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.myspace.com/502748630&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.myspace.com/502748630&lt;/a&gt;&amp;nbsp;
&lt;br&gt;For the latest World News go to &lt;a href=&quot;http://www.cuttingedge.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cuttingedge.org/&lt;/a&gt;&amp;nbsp;- Lest we forget 2009 .
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254421&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254421&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bug-up-in-openssl-0.9.8-tp26254421p26254421.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26254311</id>
	<title>Re: CryptoAPI calls failing in rand_win on Windows 7</title>
	<published>2009-11-08T06:36:19Z</published>
	<updated>2009-11-08T06:36:19Z</updated>
	<author>
		<name>sandeep kiran p</name>
	</author>
	<content type="html">&amp;gt;RAND_poll runs very quickly with a near-empty heap.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Do you mean that the calls to Heap32First, Heap32Next, Heap32ListFirst, Heap32ListNext are failing? Can you check the return values from these calls? (using GetLastError?). In any case, the heap traversals are bounded by the 1 sec limit. Even if the variable &amp;quot;good&amp;quot; is 0, the very first block of heap allocated by the current process is retrieved. Can you exactly specify which CryptoAPI is taking so much time?&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-Sandeep&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 6, 2009 at 11:45 AM, James Baker &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254311&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jam@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
Background:  Testing a Ruby app on 64-bit Windows 7 Ultimate, I found&lt;br&gt;
that OpenSSL::PKey::RSA.generate() was taking 98 seconds.  Jumping to&lt;br&gt;
C, sampling showed that the great majority of this time was spent in&lt;br&gt;
Heap32Next, which led me to the &amp;quot;heap list and heap walking&amp;quot; section&lt;br&gt;
of RAND_poll in crypto/rand/rand_win.c&lt;br&gt;
&lt;br&gt;
The heap walking (and thread and module walking) are limited to 1s&lt;br&gt;
unless the variable &amp;quot;good&amp;quot; is set, and advapi32.dll is loaded, which&lt;br&gt;
means that &amp;quot;poll the CryptoAPI PRNG&amp;quot; using the conjunction of&lt;br&gt;
CryptAcquireContextW and CryptGenRandom must be failing.&lt;br&gt;
&lt;br&gt;
The 98 seconds comes from walking the contents of the heap after&lt;br&gt;
loading a Rails environment - RAND_poll runs very quickly with a&lt;br&gt;
near-empty heap.  Are the crypo-API calls ever expected to fail under&lt;br&gt;
any Windows platform, or is this the abnormality? I&amp;#39;m not aware of any&lt;br&gt;
changes in Win7 that would break those calls (though I&amp;#39;m investigating&lt;br&gt;
whether something permission/security-related is in play here), but&lt;br&gt;
I&amp;#39;m not aware of much about Win7 in general.  I also don&amp;#39;t see any&lt;br&gt;
Win7-related changes in the OpenSSL changelog - has this platform been&lt;br&gt;
validated already?&lt;br&gt;
&lt;br&gt;
Thanks,&lt;br&gt;
James&lt;br&gt;
______________________________________________________________________&lt;br&gt;
OpenSSL Project                                 &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;
User Support Mailing List                    &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254311&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;&lt;br&gt;
Automated List Manager                           &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26254311&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/CryptoAPI-calls-failing-in-rand_win-on-Windows-7-tp26237737p26254311.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26253818</id>
	<title>Re: [CVS] OpenSSL: openssl/ssl/ s3_srvr.c</title>
	<published>2009-11-08T05:32:12Z</published>
	<updated>2009-11-08T05:32:12Z</updated>
	<author>
		<name>Dr. Stephen Henson</name>
	</author>
	<content type="html">On Sun, Nov 08, 2009, Ben Laurie wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Dr. Stephen Henson wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; OpenSSL CVS Repository
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &lt;a href=&quot;http://cvs.openssl.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cvs.openssl.org/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; ____________________________________________________________________________
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; Server: cvs.openssl.org &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Name: &amp;nbsp; Dr. Stephen Henson
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; Root: &amp;nbsp; /v/openssl/cvs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Email: &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253818&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;steve@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; Module: openssl &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Date: &amp;nbsp; 07-Nov-2009 23:22:40
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; Branch: HEAD &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Handle: 2009110722224000
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; Modified files:
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; openssl/ssl &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s3_srvr.c
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; Log:
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; Ooops, revert committed conflict.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This seems to revert rather more than just a conflict...
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;Yes it was &amp;quot;work in progres&amp;quot; which shouldn't have been committed at all in
&lt;br&gt;that form.
&lt;br&gt;&lt;br&gt;Steve.
&lt;br&gt;--
&lt;br&gt;Dr Stephen N. Henson. OpenSSL project core developer.
&lt;br&gt;Commercial tech support now available see: &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253818&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253818&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---Dev-f980.html&quot; embed=&quot;fixTarget[980]&quot; target=&quot;_top&quot; &gt;OpenSSL - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--CVS--OpenSSL%3A-openssl-ssl--s3_srvr.c-tp26253456p26253818.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26253534</id>
	<title>[openssl.org #2095] BUG: sha1-x86_64: out range of signed 32bit displacement</title>
	<published>2009-11-08T04:56:46Z</published>
	<updated>2009-11-08T04:56:46Z</updated>
	<author>
		<name>Arkadiusz Miskiewicz via RT</name>
	</author>
	<content type="html">&lt;br&gt;Building with recent binutils 2.20.51.0.2 cause problems below.
&lt;br&gt;&lt;br&gt;This is similar problem as #2094 (with fix included)
&lt;br&gt;&lt;br&gt;x86_64-pld-linux-gcc -c -I.. -I../.. -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O2 
&lt;br&gt;-fno-strict-aliasing -fwrapv -march=x86-64 -gdwarf-2 -g2 &amp;nbsp; -Wall -DMD32_REG_T=int -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -
&lt;br&gt;DAES_ASM -Wa,--noexecstack &amp;nbsp;-o sha1-x86_64.o sha1-x86_64.s &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;sha1-x86_64.s: Assembler messages: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;sha1-x86_64.s:602: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:620: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:638: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:656: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:674: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:692: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:710: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:728: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:746: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:764: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:782: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:800: Error: 0x8f1bbcdc out range of signed 32bit displacement &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;sha1-x86_64.s:818: Error: 0x8f1bbcdc out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:836: Error: 0x8f1bbcdc out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:854: Error: 0x8f1bbcdc out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:872: Error: 0x8f1bbcdc out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:890: Error: 0x8f1bbcdc out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:908: Error: 0x8f1bbcdc out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:926: Error: 0x8f1bbcdc out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:944: Error: 0x8f1bbcdc out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:962: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:977: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:992: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1007: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1022: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1037: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1052: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1067: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1082: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1097: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1112: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1127: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1142: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1157: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1172: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1187: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1202: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1216: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1230: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;sha1-x86_64.s:1244: Error: 0xca62c1d6 out range of signed 32bit displacement
&lt;br&gt;make[2]: *** [sha1-x86_64.o] Error 1
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Arkadiusz Miśkiewicz &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PLD/Linux Team
&lt;br&gt;arekm / maven.pl &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://ftp.pld-linux.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ftp.pld-linux.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253534&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253534&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---Dev-f980.html&quot; embed=&quot;fixTarget[980]&quot; target=&quot;_top&quot; &gt;OpenSSL - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-openssl.org--2095--BUG%3A-sha1-x86_64%3A-out-range-of-signed-32bit-displacement-tp26253534p26253534.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26253496</id>
	<title>Re: Linking and execution problems with a FIPS-capable OpenSSL distribution</title>
	<published>2009-11-08T04:51:45Z</published>
	<updated>2009-11-08T04:51:45Z</updated>
	<author>
		<name>Michael S. Zick-4</name>
	</author>
	<content type="html">Any reason for the double posting?
&lt;br&gt;Wouldn't just one address do?
&lt;br&gt;&lt;br&gt;Mike
&lt;br&gt;&lt;br&gt;On Fri November 6 2009, Daugherty wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Synopsis:
&lt;br&gt;&amp;gt; --------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Linking and execution problems with a FIPS-capable OpenSSL distribution.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; System:
&lt;br&gt;&amp;gt; ------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; openSUSE 11.0 (i586)
&lt;br&gt;&amp;gt; Linux version 2.6.25.20-0.4-pae
&lt;br&gt;&amp;gt; gcc (SUSE Linux) 4.3.1
&lt;br&gt;&amp;gt; OpenSSL 0.9.8g 19 Oct 2007 (currently installed)
&lt;br&gt;&amp;gt; &amp;nbsp; Includes are in /usr/include/openssl
&lt;br&gt;&amp;gt; &amp;nbsp; Libs are in /usr/lib
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Fips/OpenSSL Versions:
&lt;br&gt;&amp;gt; ---------------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; openssl-fips-1.2.tar.gz
&lt;br&gt;&amp;gt; openssl-0.9.8l.tar.gz
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Goal of this post:
&lt;br&gt;&amp;gt; -----------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 1. Additional clarification on the linking process as described in the User Guide and comment as to whether my workarounds are correct and in accordance with the Security Policy.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2. Help on overcoming the &amp;quot;fingerprint does not match&amp;quot; runtime error.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Description:
&lt;br&gt;&amp;gt; -----------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I have read the UserGuide-1.2.pdf and SecurityPolicy-1.2.pdf numerous times and have also scoured the news groups searching for a solution to my problem. &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I am trying to link fipscanister.o and libssl into a shared library, specifically, the ACE_SSL library that is part of the latest ACE distribution from the ACE/TAO group. &amp;nbsp;The User Guide is somewhat vague on whether this can be done. &amp;nbsp;From my understanding, linking fipscanister.o and libssl into a shared library is possible since my shared library is considered an application as defined in the User Guide. &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So here is what I am doing...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Per the User Guide, I do the usual after successfully performing the two verification steps:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; openssl-fips-1.2 # ./config fipscanisterbuild
&lt;br&gt;&amp;gt; make
&lt;br&gt;&amp;gt; make install
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; openssl-0.9.8l # ./config fips
&lt;br&gt;&amp;gt; make
&lt;br&gt;&amp;gt; make install
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; As a non-su user, I modify the environment per the User Guide as follows:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; export FIPSLD_CC=gcc
&lt;br&gt;&amp;gt; export CC=/usr/local/ssl/fips/bin/fipsld
&lt;br&gt;&amp;gt; export CXX=/usr/local/ssl/fips/bin/fipsld
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I also copied the openssl include directory from /usr/local/ssl/fips/include/openssl to /usr/local/include which will be found by gcc. &amp;nbsp;If I did not do this, gcc would find my existing openssl headers located at /usr/include/openssl.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Finally, I modify my LD_LIBRARY_PATH environment variable to include /usr/local/ssl/fips/lib prior to the /usr/lib include so that ld will find the Fips-capable OpenSSL library.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; When I execute the ACE_SSL shared library make, I get the following output and error:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; /usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;&amp;gt; /usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;&amp;gt; /usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;&amp;gt; /usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;&amp;gt; /usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;&amp;gt; /usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;&amp;gt; /usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;&amp;gt; /usr/local/ssl/fips/bin/fipsld -Wl,-O3 -D_REENTRANT -DACE_HAS_AIO_CALLS -D_GNU_SOURCE &amp;nbsp; -I/home/linuxbuild/ntsdev/3rdParty/ACE_wrappers_L$
&lt;br&gt;&amp;gt; /usr/local/ssl/fips/bin/fipsld: line 94: /usr/local/ssl/fips/bin/../fips/fips_standalone_sha1: No such file or directory
&lt;br&gt;&amp;gt; 1d0
&lt;br&gt;&amp;gt; &amp;lt; HMAC-SHA1(fips_premain.c)= 9e5ddba185ac446e0cf36fcf8e1b3acffe5d0b2c
&lt;br&gt;&amp;gt; /usr/local/ssl/fips/bin/../lib/fips_premain.c fingerprint mismatch
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The fips_standalone_sha1 program is located in:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; /usr/local/src/openssl-fips-1.2/fips/fips_standalone_sha1
&lt;br&gt;&amp;gt; /usr/local/src/openssl-0.9.8l/fips/fips_standalone_sha1
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; So, I modified the environment as follows to have access to fips_standalone_sha1:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; export FIPSLD_CC=gcc
&lt;br&gt;&amp;gt; export CC=/usr/local/src/openssl-fips-1.2/fips/fipsld
&lt;br&gt;&amp;gt; export CXX=/usr/local/src/openssl-fips-1.2/fips/fipsld
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This succeeds in linking the shared library; however, it seems like the fips_standalone_sha1 and other dependent files should have been copied to /usr/local/ssl/fips/fips as the headers, modules, and libraries were. &amp;nbsp;It seems that the User Guide could add some explanation on the various duplicate file copies.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Anyways, I then compile and link my application to the shared library created above using gcc/ld instead of fipsld. &amp;nbsp;I also tried compiling and linking my application with fipsld but it did not make a difference.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; When my application runs and calls FIPS_mode_set, I get an error of &amp;quot;fingerprint does not match.&amp;quot;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Relevant Environment When Building/Linking the ACE_SSL Shared Library
&lt;br&gt;&amp;gt; with fipscanister.o and libssl:
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; LD_LIBRARY_PATH =
&lt;br&gt;&amp;gt; :/home/linuxbuild/ntsdev/3rdParty/ACE_wrappers_Linux/lib:/usr/lib/oracle/xe/app/oracle/product/10.2.0\
&lt;br&gt;&amp;gt; /server/lib:/usr/local/ssl/fips/lib:/usr/local/lib:/usr/lib:
&lt;br&gt;&amp;gt; FIPSLD_CC=gcc
&lt;br&gt;&amp;gt; CC=/usr/local/src/openssl-fips-1.2/fips/fipsld
&lt;br&gt;&amp;gt; CXX=/usr/local/src/openssl-fips-1.2/fips/fipsld
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Relevant Environment When Building/Linking my Application to the
&lt;br&gt;&amp;gt; ACE_SSL dynamic library:
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; LD_LIBRARY_PATH =
&lt;br&gt;&amp;gt; :/home/linuxbuild/ntsdev/3rdParty/ACE_wrappers_Linux/lib:/usr/lib/oracle/xe/app/oracle/product/10.2.0\
&lt;br&gt;&amp;gt; /server/lib:/usr/local/ssl/fips/lib:/usr/local/lib:/usr/lib:
&lt;br&gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt; User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253496&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253496&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253496&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253496&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Linking-and-execution-problems-with-a-FIPS-capable-OpenSSL-distribution-tp26253424p26253496.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26253456</id>
	<title>Re: [CVS] OpenSSL: openssl/ssl/ s3_srvr.c</title>
	<published>2009-11-08T03:55:10Z</published>
	<updated>2009-11-08T03:55:10Z</updated>
	<author>
		<name>Ben Laurie-2</name>
	</author>
	<content type="html">Dr. Stephen Henson wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp; OpenSSL CVS Repository
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://cvs.openssl.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cvs.openssl.org/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; ____________________________________________________________________________
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; Server: cvs.openssl.org &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Name: &amp;nbsp; Dr. Stephen Henson
&lt;br&gt;&amp;gt; &amp;nbsp; Root: &amp;nbsp; /v/openssl/cvs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Email: &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253456&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;steve@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Module: openssl &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Date: &amp;nbsp; 07-Nov-2009 23:22:40
&lt;br&gt;&amp;gt; &amp;nbsp; Branch: HEAD &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Handle: 2009110722224000
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; Modified files:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; openssl/ssl &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s3_srvr.c
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; Log:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Ooops, revert committed conflict.
&lt;/div&gt;&lt;br&gt;This seems to revert rather more than just a conflict...
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; Summary:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Revision &amp;nbsp; &amp;nbsp;Changes &amp;nbsp; &amp;nbsp; Path
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; 1.182 &amp;nbsp; &amp;nbsp; &amp;nbsp; +26 -52 &amp;nbsp; &amp;nbsp; openssl/ssl/s3_srvr.c
&lt;br&gt;&amp;gt; &amp;nbsp; ____________________________________________________________________________
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; patch -p0 &amp;lt;&amp;lt;'@@ .'
&lt;br&gt;&amp;gt; &amp;nbsp; Index: openssl/ssl/s3_srvr.c
&lt;br&gt;&amp;gt; &amp;nbsp; ============================================================================
&lt;br&gt;&amp;gt; &amp;nbsp; $ cvs diff -u -r1.181 -r1.182 s3_srvr.c
&lt;br&gt;&amp;gt; &amp;nbsp; --- openssl/ssl/s3_srvr.c	2 Nov 2009 13:38:22 -0000	1.181
&lt;br&gt;&amp;gt; &amp;nbsp; +++ openssl/ssl/s3_srvr.c	7 Nov 2009 22:22:40 -0000	1.182
&lt;br&gt;&amp;gt; &amp;nbsp; @@ -1679,18 +1679,13 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;				j=0;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;				for (num=2; num &amp;gt; 0; num--)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					{
&lt;br&gt;&amp;gt; &amp;nbsp; -					if (!EVP_DigestInit_ex(&amp;md_ctx,(num == 2)
&lt;br&gt;&amp;gt; &amp;nbsp; -						?s-&amp;gt;ctx-&amp;gt;md5:s-&amp;gt;ctx-&amp;gt;sha1, NULL)
&lt;br&gt;&amp;gt; &amp;nbsp; -						|| !EVP_DigestUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;client_random[0]),SSL3_RANDOM_SIZE)
&lt;br&gt;&amp;gt; &amp;nbsp; -						|| !EVP_DigestUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;server_random[0]),SSL3_RANDOM_SIZE)
&lt;br&gt;&amp;gt; &amp;nbsp; -						|| !EVP_DigestUpdate(&amp;md_ctx,&amp;(d[4]),n)
&lt;br&gt;&amp;gt; &amp;nbsp; -						|| !EVP_DigestFinal_ex(&amp;md_ctx,q,
&lt;br&gt;&amp;gt; &amp;nbsp; -						(unsigned int *)&amp;i))
&lt;br&gt;&amp;gt; &amp;nbsp; -						{
&lt;br&gt;&amp;gt; &amp;nbsp; -						SSLerr(SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE,ERR_R_EVP_LIB);
&lt;br&gt;&amp;gt; &amp;nbsp; -						goto err;
&lt;br&gt;&amp;gt; &amp;nbsp; -						}
&lt;br&gt;&amp;gt; &amp;nbsp; -						
&lt;br&gt;&amp;gt; &amp;nbsp; +					EVP_DigestInit_ex(&amp;md_ctx,(num == 2)
&lt;br&gt;&amp;gt; &amp;nbsp; +						?s-&amp;gt;ctx-&amp;gt;md5:s-&amp;gt;ctx-&amp;gt;sha1, NULL);
&lt;br&gt;&amp;gt; &amp;nbsp; +					EVP_DigestUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;client_random[0]),SSL3_RANDOM_SIZE);
&lt;br&gt;&amp;gt; &amp;nbsp; +					EVP_DigestUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;server_random[0]),SSL3_RANDOM_SIZE);
&lt;br&gt;&amp;gt; &amp;nbsp; +					EVP_DigestUpdate(&amp;md_ctx,&amp;(d[4]),n);
&lt;br&gt;&amp;gt; &amp;nbsp; +					EVP_DigestFinal_ex(&amp;md_ctx,q,
&lt;br&gt;&amp;gt; &amp;nbsp; +						(unsigned int *)&amp;i);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					q+=i;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					j+=i;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					}
&lt;br&gt;&amp;gt; &amp;nbsp; @@ -1709,14 +1704,14 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;				if (pkey-&amp;gt;type == EVP_PKEY_DSA)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;				{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;				/* lets do DSS */
&lt;br&gt;&amp;gt; &amp;nbsp; -				if (!EVP_SignInit_ex(&amp;md_ctx,EVP_dss1(), NULL)
&lt;br&gt;&amp;gt; &amp;nbsp; -					|| !EVP_SignUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;client_random[0]),SSL3_RANDOM_SIZE)
&lt;br&gt;&amp;gt; &amp;nbsp; -					|| !EVP_SignUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;server_random[0]),SSL3_RANDOM_SIZE)
&lt;br&gt;&amp;gt; &amp;nbsp; -					|| !EVP_SignUpdate(&amp;md_ctx,&amp;(d[4]),n)
&lt;br&gt;&amp;gt; &amp;nbsp; -					|| !EVP_SignFinal(&amp;md_ctx,&amp;(p[2]),
&lt;br&gt;&amp;gt; &amp;nbsp; +				EVP_SignInit_ex(&amp;md_ctx,EVP_dss1(), NULL);
&lt;br&gt;&amp;gt; &amp;nbsp; +				EVP_SignUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;client_random[0]),SSL3_RANDOM_SIZE);
&lt;br&gt;&amp;gt; &amp;nbsp; +				EVP_SignUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;server_random[0]),SSL3_RANDOM_SIZE);
&lt;br&gt;&amp;gt; &amp;nbsp; +				EVP_SignUpdate(&amp;md_ctx,&amp;(d[4]),n);
&lt;br&gt;&amp;gt; &amp;nbsp; +				if (!EVP_SignFinal(&amp;md_ctx,&amp;(p[2]),
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					(unsigned int *)&amp;i,pkey))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					{
&lt;br&gt;&amp;gt; &amp;nbsp; -					SSLerr(SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE,ERR_R_EVP_LIB);
&lt;br&gt;&amp;gt; &amp;nbsp; +					SSLerr(SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE,ERR_LIB_DSA);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					goto err;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;				s2n(i,p);
&lt;br&gt;&amp;gt; &amp;nbsp; @@ -1728,14 +1723,14 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;				if (pkey-&amp;gt;type == EVP_PKEY_EC)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;				{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;				/* let's do ECDSA */
&lt;br&gt;&amp;gt; &amp;nbsp; -				if (!EVP_SignInit_ex(&amp;md_ctx,EVP_ecdsa(), NULL)
&lt;br&gt;&amp;gt; &amp;nbsp; -					|| !EVP_SignUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;client_random[0]),SSL3_RANDOM_SIZE)
&lt;br&gt;&amp;gt; &amp;nbsp; -					|| !EVP_SignUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;server_random[0]),SSL3_RANDOM_SIZE)
&lt;br&gt;&amp;gt; &amp;nbsp; -					|| !EVP_SignUpdate(&amp;md_ctx,&amp;(d[4]),n)
&lt;br&gt;&amp;gt; &amp;nbsp; -					|| !EVP_SignFinal(&amp;md_ctx,&amp;(p[2]),
&lt;br&gt;&amp;gt; &amp;nbsp; -						(unsigned int *)&amp;i,pkey))
&lt;br&gt;&amp;gt; &amp;nbsp; +				EVP_SignInit_ex(&amp;md_ctx,EVP_ecdsa(), NULL);
&lt;br&gt;&amp;gt; &amp;nbsp; +				EVP_SignUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;client_random[0]),SSL3_RANDOM_SIZE);
&lt;br&gt;&amp;gt; &amp;nbsp; +				EVP_SignUpdate(&amp;md_ctx,&amp;(s-&amp;gt;s3-&amp;gt;server_random[0]),SSL3_RANDOM_SIZE);
&lt;br&gt;&amp;gt; &amp;nbsp; +				EVP_SignUpdate(&amp;md_ctx,&amp;(d[4]),n);
&lt;br&gt;&amp;gt; &amp;nbsp; +				if (!EVP_SignFinal(&amp;md_ctx,&amp;(p[2]),
&lt;br&gt;&amp;gt; &amp;nbsp; +					(unsigned int *)&amp;i,pkey))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					{
&lt;br&gt;&amp;gt; &amp;nbsp; -					SSLerr(SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE,ERR_R_EVP_LIB);
&lt;br&gt;&amp;gt; &amp;nbsp; +					SSLerr(SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE,ERR_LIB_ECDSA);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					goto err;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;				s2n(i,p);
&lt;br&gt;&amp;gt; &amp;nbsp; @@ -2974,7 +2969,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;	if (s-&amp;gt;state == SSL3_ST_SW_SESSION_TICKET_A)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		unsigned char *p, *senc, *macstart;
&lt;br&gt;&amp;gt; &amp;nbsp; -		int len, slen, rv = 0;
&lt;br&gt;&amp;gt; &amp;nbsp; +		int len, slen;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		unsigned int hlen;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		EVP_CIPHER_CTX ctx;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		HMAC_CTX hctx;
&lt;br&gt;&amp;gt; &amp;nbsp; @@ -3029,21 +3024,11 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;			{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;			RAND_pseudo_bytes(iv, 16);
&lt;br&gt;&amp;gt; &amp;nbsp; -&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; s3_srvr.c
&lt;br&gt;&amp;gt; &amp;nbsp; -			if (!EVP_EncryptInit_ex(&amp;ctx, EVP_aes_128_cbc(), NULL,
&lt;br&gt;&amp;gt; &amp;nbsp; -					s-&amp;gt;ctx-&amp;gt;tlsext_tick_aes_key, iv))
&lt;br&gt;&amp;gt; &amp;nbsp; -				goto evp_err;
&lt;br&gt;&amp;gt; &amp;nbsp; -			if (!HMAC_Init_ex(&amp;hctx, s-&amp;gt;ctx-&amp;gt;tlsext_tick_hmac_key,
&lt;br&gt;&amp;gt; &amp;nbsp; -					16, tlsext_tick_md(), NULL))
&lt;br&gt;&amp;gt; &amp;nbsp; -				goto evp_err;
&lt;br&gt;&amp;gt; &amp;nbsp; -			memcpy(key_name, s-&amp;gt;ctx-&amp;gt;tlsext_tick_key_name, 16);
&lt;br&gt;&amp;gt; &amp;nbsp; -=======
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;			EVP_EncryptInit_ex(&amp;ctx, EVP_aes_128_cbc(), NULL,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					tctx-&amp;gt;tlsext_tick_aes_key, iv);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;			HMAC_Init_ex(&amp;hctx, tctx-&amp;gt;tlsext_tick_hmac_key, 16,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;					tlsext_tick_md(), NULL);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;			memcpy(key_name, tctx-&amp;gt;tlsext_tick_key_name, 16);
&lt;br&gt;&amp;gt; &amp;nbsp; -&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 1.180
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;			}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		l2n(s-&amp;gt;session-&amp;gt;tlsext_tick_lifetime_hint, p);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		/* Skip ticket length for now */
&lt;br&gt;&amp;gt; &amp;nbsp; @@ -3056,26 +3041,15 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		memcpy(p, iv, EVP_CIPHER_CTX_iv_length(&amp;ctx));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		p += EVP_CIPHER_CTX_iv_length(&amp;ctx);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		/* Encrypt session data */
&lt;br&gt;&amp;gt; &amp;nbsp; -		if (!EVP_EncryptUpdate(&amp;ctx, p, &amp;len, senc, slen))
&lt;br&gt;&amp;gt; &amp;nbsp; -			goto evp_err;
&lt;br&gt;&amp;gt; &amp;nbsp; +		EVP_EncryptUpdate(&amp;ctx, p, &amp;len, senc, slen);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		p += len;
&lt;br&gt;&amp;gt; &amp;nbsp; -		if (!EVP_EncryptFinal(&amp;ctx, p, &amp;len))
&lt;br&gt;&amp;gt; &amp;nbsp; -			goto evp_err;
&lt;br&gt;&amp;gt; &amp;nbsp; +		EVP_EncryptFinal(&amp;ctx, p, &amp;len);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		p += len;
&lt;br&gt;&amp;gt; &amp;nbsp; -
&lt;br&gt;&amp;gt; &amp;nbsp; -		if (!HMAC_Update(&amp;hctx, macstart, p - macstart))
&lt;br&gt;&amp;gt; &amp;nbsp; -			goto evp_err;
&lt;br&gt;&amp;gt; &amp;nbsp; -
&lt;br&gt;&amp;gt; &amp;nbsp; -		if (!HMAC_Final(&amp;hctx, p, &amp;hlen))
&lt;br&gt;&amp;gt; &amp;nbsp; -			goto evp_err;
&lt;br&gt;&amp;gt; &amp;nbsp; -
&lt;br&gt;&amp;gt; &amp;nbsp; -		rv = 1;
&lt;br&gt;&amp;gt; &amp;nbsp; -
&lt;br&gt;&amp;gt; &amp;nbsp; -		evp_err:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		EVP_CIPHER_CTX_cleanup(&amp;ctx);
&lt;br&gt;&amp;gt; &amp;nbsp; +
&lt;br&gt;&amp;gt; &amp;nbsp; +		HMAC_Update(&amp;hctx, macstart, p - macstart);
&lt;br&gt;&amp;gt; &amp;nbsp; +		HMAC_Final(&amp;hctx, p, &amp;hlen);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		HMAC_CTX_cleanup(&amp;hctx);
&lt;br&gt;&amp;gt; &amp;nbsp; -		if (!rv)
&lt;br&gt;&amp;gt; &amp;nbsp; -			return -1;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		p += hlen;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;		/* Now write out lengths: p points to end of data written */
&lt;br&gt;&amp;gt; &amp;nbsp; @@ .
&lt;br&gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt; CVS Repository Commit List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253456&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-cvs@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253456&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://www.apache-ssl.org/ben.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache-ssl.org/ben.html&lt;/a&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.links.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.links.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;quot;There is no limit to what a man can do or how far he can go if he
&lt;br&gt;doesn't mind who gets the credit.&amp;quot; - Robert Woodruff
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;Development Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253456&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-dev@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26253456&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---Dev-f980.html&quot; embed=&quot;fixTarget[980]&quot; target=&quot;_top&quot; &gt;OpenSSL - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--CVS--OpenSSL%3A-openssl-ssl--s3_srvr.c-tp26253456p26253456.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26250005</id>
	<title>Re: Padding mode for RSA_private_decrypt()...</title>
	<published>2009-11-07T16:41:49Z</published>
	<updated>2009-11-07T16:41:49Z</updated>
	<author>
		<name>Mounir IDRASSI</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;You simply can't guess the padding mode if you don't know it in advance. 
&lt;br&gt;Imagine the security consequences if this was possible : it would mean 
&lt;br&gt;that an attacker can have information about the clear text without 
&lt;br&gt;having access to the private key!!
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;--
&lt;br&gt;Mounir IDRASSI
&lt;br&gt;IDRIX
&lt;br&gt;&lt;a href=&quot;http://www.idrix.fr&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.idrix.fr&lt;/a&gt;&lt;br&gt;&lt;br&gt;barcaroller wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; How can I tell what the padding mode was before I attempt to decrypt data. 
&lt;br&gt;&amp;gt; For example, when I use
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RSA_private_decrypt(encsize,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; encdata,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; decdata,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; privkey,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RSA_PKCS1_PADDING)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I sometimes (but not always) get the following error:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; error:0407106B:rsa routines:RSA_padding_check_PKCS1_type_2:block type is 
&lt;br&gt;&amp;gt; not 02
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ______________________________________________________________________
&lt;br&gt;&amp;gt; OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;&amp;gt; User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26250005&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26250005&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26250005&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26250005&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Padding-mode-for-RSA_private_decrypt%28%29...-tp26249410p26250005.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26249417</id>
	<title>Memory leaks...</title>
	<published>2009-11-07T14:50:57Z</published>
	<updated>2009-11-07T14:50:57Z</updated>
	<author>
		<name>barcaroller</name>
	</author>
	<content type="html">&lt;br&gt;I'm getting some memory leaks when I use OpenSSL. &amp;nbsp;I was not able to get rid 
&lt;br&gt;of these leaks, even when I use EVP_cleanup() and ERR_free_strings() at the 
&lt;br&gt;end of my program.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Memory Leak 1. &amp;nbsp;PEM_read_PrivateKey()
&lt;br&gt;=====================================
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; EVP_PKEY* key = PEM_read_PrivateKey(fp, NULL, 0, NULL);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...
&lt;br&gt;&amp;nbsp; &amp;nbsp; EVP_PKEY_free(key);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Valgrind reports:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== 24 bytes in 1 blocks are still reachable in loss record 2 of 
&lt;br&gt;20
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;at 0x4A05809: malloc (vg_replace_malloc.c:149)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C6DAD41: CRYPTO_malloc (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C65B565: (within /lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C65B98A: (within /lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C66F9B3: RSA_new_method (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C66F33C: (within /lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C692EA4: (within /lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C696004: ASN1_item_ex_d2i (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C6960F3: ASN1_item_d2i (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C68FC0C: d2i_PrivateKey (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C6A10B9: PEM_read_bio_PrivateKey (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C6A1300: PEM_read_PrivateKey (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Memory Leak 2. SSL_library_init()
&lt;br&gt;=================================
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Valgrind reports:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== 24 bytes in 1 blocks are still reachable in loss record 6 of 
&lt;br&gt;20
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;at 0x4A05809: malloc (vg_replace_malloc.c:149)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C6DAD41: CRYPTO_malloc (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C65B565: (within /lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C65BB3B: (within /lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3C6BFBFA: COMP_zlib (in /lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3CA31D7F: (within /lib64/libssl.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3CA31F48: SSL_COMP_get_compression_methods (in 
&lt;br&gt;/lib64/libssl.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==27769== &amp;nbsp; &amp;nbsp;by 0x3C3CA37784: SSL_library_init (in 
&lt;br&gt;/lib64/libssl.so.0.9.8e)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Memory Leak 3. HMAC_Init()
&lt;br&gt;==========================
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; HMAC_CTX hm;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; HMAC_Init(&amp;hm, ...);
&lt;br&gt;&amp;nbsp; &amp;nbsp; HMAC_Update(&amp;hm, ...);
&lt;br&gt;&amp;nbsp; &amp;nbsp; HMAC_Final(&amp;hm, ...);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...
&lt;br&gt;&amp;nbsp; &amp;nbsp; HMAC_cleanup(&amp;hm);
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Valgrind reports:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; ==31996== &amp;nbsp; &amp;nbsp;at 0x4A05809: malloc (vg_replace_malloc.c:149)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==31996== &amp;nbsp; &amp;nbsp;by 0x3C3C6DAD41: CRYPTO_malloc (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==31996== &amp;nbsp; &amp;nbsp;by 0x3C3C6D8A1D: EVP_DigestInit_ex (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==31996== &amp;nbsp; &amp;nbsp;by 0x3C3C6EB36B: HMAC_Init_ex (in 
&lt;br&gt;/lib64/libcrypto.so.0.9.8e)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26249417&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26249417&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Memory-leaks...-tp26249417p26249417.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26249410</id>
	<title>Padding mode for RSA_private_decrypt()...</title>
	<published>2009-11-07T14:11:09Z</published>
	<updated>2009-11-07T14:11:09Z</updated>
	<author>
		<name>barcaroller</name>
	</author>
	<content type="html">&lt;br&gt;How can I tell what the padding mode was before I attempt to decrypt data. 
&lt;br&gt;For example, when I use
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RSA_private_decrypt(encsize,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; encdata,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; decdata,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; privkey,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RSA_PKCS1_PADDING)
&lt;br&gt;&lt;br&gt;&lt;br&gt;I sometimes (but not always) get the following error:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; error:0407106B:rsa routines:RSA_padding_check_PKCS1_type_2:block type is 
&lt;br&gt;not 02
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26249410&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26249410&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Padding-mode-for-RSA_private_decrypt%28%29...-tp26249410p26249410.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26247321</id>
	<title>Re: Searching the &quot;true&quot; about multithreading</title>
	<published>2009-11-07T10:23:39Z</published>
	<updated>2009-11-07T10:23:39Z</updated>
	<author>
		<name>Sebastián Treu</name>
	</author>
	<content type="html">Hi David,
&lt;br&gt;&lt;br&gt;On Sat, Nov 7, 2009 at 2:35 PM, David Schwartz &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247321&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davids@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Sebastián Treu wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The main idea was avoid polling in an infinite loop consuming CPU
&lt;br&gt;&amp;gt;&amp;gt; resources. I wrote that code thinking in: &amp;quot;If the particular client
&lt;br&gt;&amp;gt;&amp;gt; socket is calling our (thread) attention then fetchs the data&amp;quot;. I
&lt;br&gt;&amp;gt;&amp;gt; thought on that approach as I don't know another for non-blocking IO
&lt;br&gt;&amp;gt;&amp;gt; without a poll cycle. If I loop forever on the  SSL_read() function,
&lt;br&gt;&amp;gt;&amp;gt; CPU will be kept busy on that job so I thought in a way of not having
&lt;br&gt;&amp;gt;&amp;gt; to do so. Instead, something should &amp;quot;inform&amp;quot; that on that socket is
&lt;br&gt;&amp;gt;&amp;gt; data ready to be read.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Right, but your code call 'select' even if it doesn't need to read data from
&lt;br&gt;&amp;gt; the socket.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Mmmh...I can't see how to do it without select(). The main important
&lt;br&gt;&amp;gt;&amp;gt; thing here is that this thread is attending only 1 client. Maybe it's
&lt;br&gt;&amp;gt;&amp;gt; confusing because &amp;quot;why use select() then if you are polling always on
&lt;br&gt;&amp;gt;&amp;gt; the same IO socket?&amp;quot;. Answer: I don't know if there is another system
&lt;br&gt;&amp;gt;&amp;gt; call to block until a file descriptor is ready to be read.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You totally missed my point. You are correct that you need to block
&lt;br&gt;&amp;gt; somewhere, you are simply blocking in the wrong place for the wrong reason.
&lt;br&gt;&amp;gt; The only reason you should ever block using 'select' on an SSL connection is
&lt;br&gt;&amp;gt; because the SSL state machine cannot make forward progress until the socket
&lt;br&gt;&amp;gt; is ready. But you call 'select' without knowing this.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Then, if I read first with SSL_read() on non-blocking IO, every time
&lt;br&gt;&amp;gt;&amp;gt; the client isn't writting or sending anything, the server is using and
&lt;br&gt;&amp;gt;&amp;gt; wasting cpu cycles. Without the select() approach and with a maximun
&lt;br&gt;&amp;gt;&amp;gt; of 32 clients my cpu usage went to 200% ( 100 per core). With the
&lt;br&gt;&amp;gt;&amp;gt; select() approach the cpu usage is relative to the clients
&lt;br&gt;&amp;gt;&amp;gt; reading/writting actions.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What? How does calling SSL_read *first* waste CPU cycles? You *cannot* call
&lt;br&gt;&amp;gt; 'select' until you *know* that you need to call 'select'. The data the SSL
&lt;br&gt;&amp;gt; state machine needs to make forward progress may already have been read.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I believe you are more experienced developer than me (in fact, i'm not
&lt;br&gt;&amp;gt;&amp;gt; what you can call A developer) and if not much to ask, how do you
&lt;br&gt;&amp;gt;&amp;gt; solve this kind of problem? (without removing the roots of the
&lt;br&gt;&amp;gt;&amp;gt; multithreaded server design) I mean, how can you block execution
&lt;br&gt;&amp;gt;&amp;gt; waiting for a &amp;quot;noise&amp;quot; on the file descriptor to take some action
&lt;br&gt;&amp;gt;&amp;gt; without using select()?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I guess I wasn't clear. The problem is not that you are calling 'select' at
&lt;br&gt;&amp;gt; all, the problem is that you are calling 'select' even when you have
&lt;br&gt;&amp;gt; absolutely no reason to do so.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Call SSL_read. If you make forward progress, great. If you make no forward
&lt;br&gt;&amp;gt; progress, the SSL state machine will tell you why. If, for example, it
&lt;br&gt;&amp;gt; returns a 'WANT_READ' indication, then you know that the SSL state machine
&lt;br&gt;&amp;gt; cannot make forward progress unless it reads from the socket. Then, and only
&lt;br&gt;&amp;gt; then, does it make sense to call 'select'.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Again, you *MUST* get this idea out of your head:
&lt;br&gt;&amp;gt; &amp;quot;Read data from socket, decrypt it, pass it to application.&amp;quot;
&lt;br&gt;&amp;gt; That is *NOT* what SSL_read does. SSL_read is *NOT* a decryption function.
&lt;br&gt;&amp;gt; It is an entry point into a state machine that can do all kinds of things,
&lt;br&gt;&amp;gt; including reading from the socket.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Here's where your code blows up horribly:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 1) You call SSL_write. A renegotiation is in progress, so it reads data from
&lt;br&gt;&amp;gt; the socket to see if it can complete the renegotiation. It gets the data
&lt;br&gt;&amp;gt; needed to complete the renegotiation and some encrypted application data. It
&lt;br&gt;&amp;gt; sends the encrypted data you asked it to, and returns success.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2) You enter your broken read function and call 'select', but the data has
&lt;br&gt;&amp;gt; already arrived and been read (in step 1). You deadlock waiting forever for
&lt;br&gt;&amp;gt; data that is already here.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do you see? You cannot call 'select' unless you know for a fact that the SSL
&lt;br&gt;&amp;gt; state machine needs to read from the socket. Otherwise you could be waiting
&lt;br&gt;&amp;gt; for something that already happened or is not supposed to happen.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do not &amp;quot;look through&amp;quot; the SSL state machine. Let it do its job.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; DS
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Get it. Excellent explanation. I didn't knew that thing about the
&lt;br&gt;state machine. Thanks,
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;-- 
&lt;br&gt;If you want freedom, compile the source. Get gentoo.
&lt;br&gt;&lt;br&gt;Sebastián Treu
&lt;br&gt;&lt;a href=&quot;http://labombiya.com.ar&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labombiya.com.ar&lt;/a&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247321&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247321&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Searching-the-%22true%22-about-multithreading-tp26220558p26247321.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26246890</id>
	<title>RE: Searching the &quot;true&quot; about multithreading</title>
	<published>2009-11-07T09:35:35Z</published>
	<updated>2009-11-07T09:35:35Z</updated>
	<author>
		<name>David Schwartz</name>
	</author>
	<content type="html">&lt;br&gt;Sebastián Treu wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; The main idea was avoid polling in an infinite loop consuming CPU
&lt;br&gt;&amp;gt; resources. I wrote that code thinking in: &amp;quot;If the particular client
&lt;br&gt;&amp;gt; socket is calling our (thread) attention then fetchs the data&amp;quot;. I
&lt;br&gt;&amp;gt; thought on that approach as I don't know another for non-blocking IO
&lt;br&gt;&amp;gt; without a poll cycle. If I loop forever on the &amp;nbsp;SSL_read() function,
&lt;br&gt;&amp;gt; CPU will be kept busy on that job so I thought in a way of not having
&lt;br&gt;&amp;gt; to do so. Instead, something should &amp;quot;inform&amp;quot; that on that socket is
&lt;br&gt;&amp;gt; data ready to be read.
&lt;br&gt;&lt;br&gt;Right, but your code call 'select' even if it doesn't need to read data from
&lt;br&gt;the socket.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; Mmmh...I can't see how to do it without select(). The main important
&lt;br&gt;&amp;gt; thing here is that this thread is attending only 1 client. Maybe it's
&lt;br&gt;&amp;gt; confusing because &amp;quot;why use select() then if you are polling always on
&lt;br&gt;&amp;gt; the same IO socket?&amp;quot;. Answer: I don't know if there is another system
&lt;br&gt;&amp;gt; call to block until a file descriptor is ready to be read.
&lt;br&gt;&lt;br&gt;You totally missed my point. You are correct that you need to block
&lt;br&gt;somewhere, you are simply blocking in the wrong place for the wrong reason.
&lt;br&gt;The only reason you should ever block using 'select' on an SSL connection is
&lt;br&gt;because the SSL state machine cannot make forward progress until the socket
&lt;br&gt;is ready. But you call 'select' without knowing this.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; Then, if I read first with SSL_read() on non-blocking IO, every time
&lt;br&gt;&amp;gt; the client isn't writting or sending anything, the server is using and
&lt;br&gt;&amp;gt; wasting cpu cycles. Without the select() approach and with a maximun
&lt;br&gt;&amp;gt; of 32 clients my cpu usage went to 200% ( 100 per core). With the
&lt;br&gt;&amp;gt; select() approach the cpu usage is relative to the clients
&lt;br&gt;&amp;gt; reading/writting actions.
&lt;br&gt;&lt;br&gt;What? How does calling SSL_read *first* waste CPU cycles? You *cannot* call
&lt;br&gt;'select' until you *know* that you need to call 'select'. The data the SSL
&lt;br&gt;state machine needs to make forward progress may already have been read.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; I believe you are more experienced developer than me (in fact, i'm not
&lt;br&gt;&amp;gt; what you can call A developer) and if not much to ask, how do you
&lt;br&gt;&amp;gt; solve this kind of problem? (without removing the roots of the
&lt;br&gt;&amp;gt; multithreaded server design) I mean, how can you block execution
&lt;br&gt;&amp;gt; waiting for a &amp;quot;noise&amp;quot; on the file descriptor to take some action
&lt;br&gt;&amp;gt; without using select()?
&lt;br&gt;&lt;br&gt;I guess I wasn't clear. The problem is not that you are calling 'select' at
&lt;br&gt;all, the problem is that you are calling 'select' even when you have
&lt;br&gt;absolutely no reason to do so.
&lt;br&gt;&lt;br&gt;Call SSL_read. If you make forward progress, great. If you make no forward
&lt;br&gt;progress, the SSL state machine will tell you why. If, for example, it
&lt;br&gt;returns a 'WANT_READ' indication, then you know that the SSL state machine
&lt;br&gt;cannot make forward progress unless it reads from the socket. Then, and only
&lt;br&gt;then, does it make sense to call 'select'.
&lt;br&gt;&lt;br&gt;Again, you *MUST* get this idea out of your head:
&lt;br&gt;&amp;quot;Read data from socket, decrypt it, pass it to application.&amp;quot;
&lt;br&gt;That is *NOT* what SSL_read does. SSL_read is *NOT* a decryption function.
&lt;br&gt;It is an entry point into a state machine that can do all kinds of things,
&lt;br&gt;including reading from the socket.
&lt;br&gt;&lt;br&gt;Here's where your code blows up horribly:
&lt;br&gt;&lt;br&gt;1) You call SSL_write. A renegotiation is in progress, so it reads data from
&lt;br&gt;the socket to see if it can complete the renegotiation. It gets the data
&lt;br&gt;needed to complete the renegotiation and some encrypted application data. It
&lt;br&gt;sends the encrypted data you asked it to, and returns success.
&lt;br&gt;&lt;br&gt;2) You enter your broken read function and call 'select', but the data has
&lt;br&gt;already arrived and been read (in step 1). You deadlock waiting forever for
&lt;br&gt;data that is already here.
&lt;br&gt;&lt;br&gt;Do you see? You cannot call 'select' unless you know for a fact that the SSL
&lt;br&gt;state machine needs to read from the socket. Otherwise you could be waiting
&lt;br&gt;for something that already happened or is not supposed to happen.
&lt;br&gt;&lt;br&gt;Do not &amp;quot;look through&amp;quot; the SSL state machine. Let it do its job.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;DS
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26246890&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26246890&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Searching-the-%22true%22-about-multithreading-tp26220558p26246890.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26246578</id>
	<title>Re: Searching the &quot;true&quot; about multithreading</title>
	<published>2009-11-07T08:59:18Z</published>
	<updated>2009-11-07T08:59:18Z</updated>
	<author>
		<name>Sebastián Treu</name>
	</author>
	<content type="html">On Sat, Nov 7, 2009 at 12:47 PM, David Schwartz &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26246578&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davids@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Your logic is backwards here. You are trying to decide whether or not to
&lt;br&gt;&amp;gt; read data on the decrypted output link, so why are you 'select'ing on the
&lt;br&gt;&amp;gt; encrypted input link?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; SSL is a state machine, not a filter. The implementation of SSL_read is
&lt;br&gt;&amp;gt; *NOT*:
&lt;br&gt;&amp;gt; 1) Read some data from the socket.
&lt;br&gt;&amp;gt; 2) If we got any data, decrypt it.
&lt;br&gt;&amp;gt; 3) Return the data we read.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It is:
&lt;br&gt;&amp;gt; 1) Try to make forward progress, doing any reads and writes as necessary.
&lt;br&gt;&amp;gt; 2) If this resulted in any decrypted data, return it.
&lt;br&gt;&amp;gt; 3) If not, tell the caller why.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; As a result, you can only 'select' *after* calling SSL_read, never before.
&lt;br&gt;&amp;gt; And you cannot assume that you will be selecting in the read direction,
&lt;br&gt;&amp;gt; because either can be necessary.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; DS
&lt;/div&gt;&lt;br&gt;Hi David,
&lt;br&gt;&lt;br&gt;The main idea was avoid polling in an infinite loop consuming CPU
&lt;br&gt;resources. I wrote that code thinking in: &amp;quot;If the particular client
&lt;br&gt;socket is calling our (thread) attention then fetchs the data&amp;quot;. I
&lt;br&gt;thought on that approach as I don't know another for non-blocking IO
&lt;br&gt;without a poll cycle. If I loop forever on the &amp;nbsp;SSL_read() function,
&lt;br&gt;CPU will be kept busy on that job so I thought in a way of not having
&lt;br&gt;to do so. Instead, something should &amp;quot;inform&amp;quot; that on that socket is
&lt;br&gt;data ready to be read.
&lt;br&gt;&lt;br&gt;Mmmh...I can't see how to do it without select(). The main important
&lt;br&gt;thing here is that this thread is attending only 1 client. Maybe it's
&lt;br&gt;confusing because &amp;quot;why use select() then if you are polling always on
&lt;br&gt;the same IO socket?&amp;quot;. Answer: I don't know if there is another system
&lt;br&gt;call to block until a file descriptor is ready to be read.
&lt;br&gt;&lt;br&gt;That part of code is threaded, and althought you are right on saying:
&lt;br&gt;&amp;quot;why a server should have 1,000 threads when you have 1,000
&lt;br&gt;connections&amp;quot;, the particular use of this application will be a
&lt;br&gt;very-connection-limited server. For example, saying 20 clients is a
&lt;br&gt;huge number of connections. The numbers of threads are limited as the
&lt;br&gt;number of connections.
&lt;br&gt;&lt;br&gt;Then, if I read first with SSL_read() on non-blocking IO, every time
&lt;br&gt;the client isn't writting or sending anything, the server is using and
&lt;br&gt;wasting cpu cycles. Without the select() approach and with a maximun
&lt;br&gt;of 32 clients my cpu usage went to 200% ( 100 per core). With the
&lt;br&gt;select() approach the cpu usage is relative to the clients
&lt;br&gt;reading/writting actions.
&lt;br&gt;&lt;br&gt;I believe you are more experienced developer than me (in fact, i'm not
&lt;br&gt;what you can call A developer) and if not much to ask, how do you
&lt;br&gt;solve this kind of problem? (without removing the roots of the
&lt;br&gt;multithreaded server design) I mean, how can you block execution
&lt;br&gt;waiting for a &amp;quot;noise&amp;quot; on the file descriptor to take some action
&lt;br&gt;without using select()?
&lt;br&gt;&lt;br&gt;I really appreciatte your concern on letting me know my errors and
&lt;br&gt;sorry if this invalidate the main topic thread,
&lt;br&gt;Regards
&lt;br&gt;-- 
&lt;br&gt;If you want freedom, compile the source. Get gentoo.
&lt;br&gt;&lt;br&gt;Sebastián Treu
&lt;br&gt;&lt;a href=&quot;http://labombiya.com.ar&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labombiya.com.ar&lt;/a&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26246578&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26246578&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Searching-the-%22true%22-about-multithreading-tp26220558p26246578.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26245966</id>
	<title>RE: Searching the &quot;true&quot; about multithreading</title>
	<published>2009-11-07T07:47:18Z</published>
	<updated>2009-11-07T07:47:18Z</updated>
	<author>
		<name>David Schwartz</name>
	</author>
	<content type="html">Sebastián Treu wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I used a select() thread with non-blocking IO just to no keep the cpu
&lt;br&gt;&amp;gt; busy in a infinite loop. Kind of:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; while( alive &amp;&amp; CONTINUE )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* The main client attendance */
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; copy = master;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( select(client-&amp;gt;fd+1, &amp;copy, NULL,NULL,NULL) == -1)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&amp;quot;&amp;lt;thread %d&amp;gt;:[ERR]:\tSelect fail\n&amp;quot;,tid);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( FD_ISSET(client-&amp;gt;fd, &amp;copy) )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* read from the secure connection gaining exclusive
&lt;br&gt;&amp;gt; access */
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* to the client ssl structure. The 'sender thread' could
&lt;br&gt;&amp;gt; */
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* access this structure coliding with the 'err' value
&lt;br&gt;&amp;gt; and &amp;nbsp;*/
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* starting a catastrophe.
&lt;br&gt;&amp;gt; */
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pthread_mutex_lock(&amp;client-&amp;gt;mutex[SSL_MUTEX]);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nbytes = SSL_read(client-&amp;gt;ssl, client-&amp;gt;buffer,
&lt;br&gt;&amp;gt; chunk_size);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; err = SSL_get_error(client-&amp;gt;ssl, nbytes);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pthread_mutex_unlock(&amp;client-&amp;gt;mutex[SSL_MUTEX]);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; You can check the hole threaded server in earlier development here:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://code.google.com/p/tellapic/source/browse/trunk/server.c&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://code.google.com/p/tellapic/source/browse/trunk/server.c&lt;/a&gt;&lt;/div&gt;&lt;br&gt;Your logic is backwards here. You are trying to decide whether or not to
&lt;br&gt;read data on the decrypted output link, so why are you 'select'ing on the
&lt;br&gt;encrypted input link?
&lt;br&gt;&lt;br&gt;SSL is a state machine, not a filter. The implementation of SSL_read is
&lt;br&gt;*NOT*:
&lt;br&gt;1) Read some data from the socket.
&lt;br&gt;2) If we got any data, decrypt it.
&lt;br&gt;3) Return the data we read.
&lt;br&gt;&lt;br&gt;It is:
&lt;br&gt;1) Try to make forward progress, doing any reads and writes as necessary.
&lt;br&gt;2) If this resulted in any decrypted data, return it.
&lt;br&gt;3) If not, tell the caller why.
&lt;br&gt;&lt;br&gt;As a result, you can only 'select' *after* calling SSL_read, never before.
&lt;br&gt;And you cannot assume that you will be selecting in the read direction,
&lt;br&gt;because either can be necessary.
&lt;br&gt;&lt;br&gt;DS
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26245966&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26245966&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Searching-the-%22true%22-about-multithreading-tp26220558p26245966.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26244711</id>
	<title>Linking and execution problems with a FIPS-capable OpenSSL distribution</title>
	<published>2009-11-07T05:16:01Z</published>
	<updated>2009-11-07T05:16:01Z</updated>
	<author>
		<name>Daugherty-5</name>
	</author>
	<content type="html">Synopsis:
&lt;br&gt;--------
&lt;br&gt;&lt;br&gt;Linking and execution problems with a FIPS-capable OpenSSL distribution.
&lt;br&gt;&lt;br&gt;System:
&lt;br&gt;------
&lt;br&gt;&lt;br&gt;openSUSE 11.0 (i586)
&lt;br&gt;Linux version 2.6.25.20-0.4-pae
&lt;br&gt;gcc (SUSE Linux) 4.3.1
&lt;br&gt;OpenSSL 0.9.8g 19 Oct 2007 (currently installed)
&lt;br&gt;&amp;nbsp; Includes are in /usr/include/openssl
&lt;br&gt;&amp;nbsp; Libs are in /usr/lib
&lt;br&gt;&lt;br&gt;Fips/OpenSSL Versions:
&lt;br&gt;---------------------
&lt;br&gt;&lt;br&gt;openssl-fips-1.2.tar.gz
&lt;br&gt;openssl-0.9.8l.tar.gz
&lt;br&gt;&lt;br&gt;Goal of this post:
&lt;br&gt;-----------------
&lt;br&gt;&lt;br&gt;1. Additional clarification on the linking process as described in the User Guide and comment as to whether my workarounds are correct and in accordance with the Security Policy.
&lt;br&gt;&lt;br&gt;2. Help on overcoming the &amp;quot;fingerprint does not match&amp;quot; runtime error.
&lt;br&gt;&lt;br&gt;Description:
&lt;br&gt;-----------
&lt;br&gt;&lt;br&gt;I have read the UserGuide-1.2.pdf and SecurityPolicy-1.2.pdf numerous times and have also scoured the news groups searching for a solution to my problem. &amp;nbsp;
&lt;br&gt;&lt;br&gt;I am trying to link fipscanister.o and libssl into a shared library, specifically, the ACE_SSL library that is part of the latest ACE distribution from the ACE/TAO group. &amp;nbsp;The User Guide is somewhat vague on whether this can be done. &amp;nbsp;From my understanding, linking fipscanister.o and libssl into a shared library is possible since my shared library is considered an application as defined in the User Guide. &amp;nbsp;
&lt;br&gt;&lt;br&gt;So here is what I am doing...
&lt;br&gt;&lt;br&gt;Per the User Guide, I do the usual after successfully performing the two verification steps:
&lt;br&gt;&lt;br&gt;openssl-fips-1.2 # ./config fipscanisterbuild
&lt;br&gt;make
&lt;br&gt;make install
&lt;br&gt;&lt;br&gt;openssl-0.9.8l # ./config fips
&lt;br&gt;make
&lt;br&gt;make install
&lt;br&gt;&lt;br&gt;As a non-su user, I modify the environment per the User Guide as follows:
&lt;br&gt;&lt;br&gt;export FIPSLD_CC=gcc
&lt;br&gt;export CC=/usr/local/ssl/fips/bin/fipsld
&lt;br&gt;export CXX=/usr/local/ssl/fips/bin/fipsld
&lt;br&gt;&lt;br&gt;I also copied the openssl include directory from /usr/local/ssl/fips/include/openssl to /usr/local/include which will be found by gcc. &amp;nbsp;If I did not do this, gcc would find my existing openssl headers located at /usr/include/openssl.
&lt;br&gt;&lt;br&gt;Finally, I modify my LD_LIBRARY_PATH environment variable to include /usr/local/ssl/fips/lib prior to the /usr/lib include so that ld will find the Fips-capable OpenSSL library.
&lt;br&gt;&lt;br&gt;When I execute the ACE_SSL shared library make, I get the following output and error:
&lt;br&gt;&lt;br&gt;/usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;/usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;/usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;/usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;/usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;/usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;/usr/local/ssl/fips/bin/fipsld -fvisibility=hidden -fvisibility-inlines-hidden -W -Wall -Wpointer-arith &amp;nbsp;-O3 -ggdb -pipe -D_REENTRANT -DA$
&lt;br&gt;/usr/local/ssl/fips/bin/fipsld -Wl,-O3 -D_REENTRANT -DACE_HAS_AIO_CALLS -D_GNU_SOURCE &amp;nbsp; -I/home/linuxbuild/ntsdev/3rdParty/ACE_wrappers_L$
&lt;br&gt;/usr/local/ssl/fips/bin/fipsld: line 94: /usr/local/ssl/fips/bin/../fips/fips_standalone_sha1: No such file or directory
&lt;br&gt;1d0
&lt;br&gt;&amp;lt; HMAC-SHA1(fips_premain.c)= 9e5ddba185ac446e0cf36fcf8e1b3acffe5d0b2c
&lt;br&gt;/usr/local/ssl/fips/bin/../lib/fips_premain.c fingerprint mismatch
&lt;br&gt;&lt;br&gt;&lt;br&gt;The fips_standalone_sha1 program is located in:
&lt;br&gt;&lt;br&gt;/usr/local/src/openssl-fips-1.2/fips/fips_standalone_sha1
&lt;br&gt;/usr/local/src/openssl-0.9.8l/fips/fips_standalone_sha1
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;So, I modified the environment as follows to have access to fips_standalone_sha1:
&lt;br&gt;&lt;br&gt;export FIPSLD_CC=gcc
&lt;br&gt;export CC=/usr/local/src/openssl-fips-1.2/fips/fipsld
&lt;br&gt;export CXX=/usr/local/src/openssl-fips-1.2/fips/fipsld
&lt;br&gt;&lt;br&gt;This succeeds in linking the shared library; however, it seems like the fips_standalone_sha1 and other dependent files should have been copied to /usr/local/ssl/fips/fips as the headers, modules, and libraries were. &amp;nbsp;It seems that the User Guide could add some explanation on the various duplicate file copies.
&lt;br&gt;&lt;br&gt;Anyways, I then compile and link my application to the shared library created above using gcc/ld instead of fipsld. &amp;nbsp;I also tried compiling and linking my application with fipsld but it did not make a difference.
&lt;br&gt;&lt;br&gt;When my application runs and calls FIPS_mode_set, I get an error of &amp;quot;fingerprint does not match.&amp;quot;
&lt;br&gt;&lt;br&gt;Relevant Environment When Building/Linking the ACE_SSL Shared Library
&lt;br&gt;with fipscanister.o and libssl:
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;LD_LIBRARY_PATH =
&lt;br&gt;:/home/linuxbuild/ntsdev/3rdParty/ACE_wrappers_Linux/lib:/usr/lib/oracle/xe/app/oracle/product/10.2.0\
&lt;br&gt;/server/lib:/usr/local/ssl/fips/lib:/usr/local/lib:/usr/lib:
&lt;br&gt;FIPSLD_CC=gcc
&lt;br&gt;CC=/usr/local/src/openssl-fips-1.2/fips/fipsld
&lt;br&gt;CXX=/usr/local/src/openssl-fips-1.2/fips/fipsld
&lt;br&gt;&lt;br&gt;Relevant Environment When Building/Linking my Application to the
&lt;br&gt;ACE_SSL dynamic library:
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;LD_LIBRARY_PATH =
&lt;br&gt;:/home/linuxbuild/ntsdev/3rdParty/ACE_wrappers_Linux/lib:/usr/lib/oracle/xe/app/oracle/product/10.2.0\
&lt;br&gt;/server/lib:/usr/local/ssl/fips/lib:/usr/local/lib:/usr/lib:
&lt;br&gt;______________________________________________________________________
&lt;br&gt;OpenSSL Project &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.openssl.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openssl.org&lt;/a&gt;&lt;br&gt;User Support Mailing List &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26244711&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;openssl-users@...&lt;/a&gt;
&lt;br&gt;Automated List Manager &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26244711&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;majordomo@...&lt;/a&gt;
&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/OpenSSL---User-f981.html&quot; embed=&quot;fixTarget[981]&quot; target=&quot;_top&quot; &gt;OpenSSL - User&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Linking-and-execution-problems-with-a-FIPS-capable-OpenSSL-distribution-tp26244711p26244711.html" />
</entry>

</feed>
