why winxp openssl based server can only accept 16 client?

2007-09-04 Thread zhuxian
I write an openssl based multi-threads server program. But it can only support 16 thread on the WinXP. Exceeding that, the SSL_accept() will failed. I use the InitializeCriticalSection/EnterCriticalSection/LeaveCriticalSection to do the thread lock. And i also compiled the program with /MD. I co

Re: BIO_set_nbio_accept functionality

2007-09-04 Thread Dr. Stephen Henson
On Tue, Sep 04, 2007, Jim Marshall wrote: > Jim Fox wrote: > > > >Doesn't need a faq. The man page says the purpose of the > >BIO_set_nbio_accept macro is to set blocking or non-blocking mode. > >Seems like that's what it will do. > > > >Jim > > > >On Sep 3, 2007, at 11:31 AM, Jim Marshall wro

RE: AES cbc? How to Init Openssl?

2007-09-04 Thread Bill Colvin
Martin: The buffer that you give to the AES encrypt algorithm must be evenly divisible by 16. Since data may be any size you add padding to get to a 16 byte boundary. If your data happens to be evenly divisible by 16, you add an extra 16 bytes (so that padding always exists). It is common to se

Re: AES cbc? How to Init Openssl?

2007-09-04 Thread Marek Marcola
Hello, > You wrote: > > In CBC mode, your encrypted data can be bigger for one block (for padding). > But how will I know how big the Buffer > A) must be before encryption > B) and will be filled after encryption? > > Example: I want to encrypt 133 Bytes. So I need 9*16 Byte plus maybe one for >

very slow ssl handshake

2007-09-04 Thread mrahin
I have a server built using OpenSSL and a Java client that uses PureTLS. On occassions I see a very long delay (> 5 mins) between Client Hello (the server returns an ack to the clientHello almost immediately) and the Server Hello. What could cause this long delay? I have Ethereal traces if anyone

Re: BIO_set_nbio_accept functionality

2007-09-04 Thread Jim Marshall
Jim Fox wrote: Doesn't need a faq. The man page says the purpose of the BIO_set_nbio_accept macro is to set blocking or non-blocking mode. Seems like that's what it will do. Jim On Sep 3, 2007, at 11:31 AM, Jim Marshall wrote: Jim Marshall wrote: I'm looking at using non-blocking I/O in

Re: AES cbc? How to Init Openssl?

2007-09-04 Thread Martin Salo
Thanks for the examples. :-) You wrote: > In CBC mode, your encrypted data can be bigger for one block (for padding). But how will I know how big the Buffer A) must be before encryption B) and will be filled after encryption? Example: I want to encrypt 133 Bytes. So I need 9*16 Byte plus maybe one

Re: AES cbc? How to Init Openssl?

2007-09-04 Thread Marek Marcola
Hello, > 1. If I want to encrypt with AES_cbc_encrypt() I have to give the key I have > created with AES_set_encrypt_key(). > For decryption vice versa? Yes, > 2. What is the parameter "ivec" in AES_cbc_encrypt? What must set if I want > to encrypt or decrypt? This is initialization vector for

Re: AES cbc? How to Init Openssl?

2007-09-04 Thread Martin Salo
Hello Marek, can you help me a little bit more how to handle AES with OpenSSL? 1. If I want to encrypt with AES_cbc_encrypt() I have to give the key I have created with AES_set_encrypt_key(). For decryption vice versa? 2. What is the parameter "ivec" in AES_cbc_encrypt? What must set if I want

Re: AES cbc? How to Init Openssl?

2007-09-04 Thread Marek Marcola
Hello, > 1. How must I init Openssl? Must I call additional init functions than this? > OpenSSL_add_all_algorithms(); > OpenSSL_add_all_ciphers(); > OpenSSL_add_all_digests(); > ERR_load_crypto_strings(); // Only for debugging, right? I think that: SSL_library_init(); ERR_load_crypto_strings();

RE: SSL_peek vs. SSL_pending...

2007-09-04 Thread David Schwartz
> > Consider a 'select' followed by a 'read' in another thread. Is > > that the operation that shouldn't block or are the 'select' and > > the 'read' unrelated? > If the read was started (called) after the select finished > (returned), then this read (and only this read) is the subsequent > opera

AES cbc? How to Init Openssl?

2007-09-04 Thread Martin Salo
Hello Mailinglist, 1. How must I init Openssl? Must I call additional init functions than this? OpenSSL_add_all_algorithms(); OpenSSL_add_all_ciphers(); OpenSSL_add_all_digests(); ERR_load_crypto_strings(); // Only for debugging, right? 2. I found in openssl/aes.h the function AES_cbc_encrypt() b

Re: SSL_peek vs. SSL_pending...

2007-09-04 Thread Steffen DETTMER
Hi again :) * David Schwartz wrote on Mon, Sep 03, 2007 at 17:36 -0700: > > sorry, seems I'm unable to get it (I read it several times :)). > > 2) The application calls 'write', expecting it to block until > all the data can be written. yes, we already talked about. I still think that this appli