Yes, almost :)

Won't it better to call ENGINE_init at setup_engine() or at
try_load_engine() instead of at tls_ctx_load_priv_file()? It is just
that tls_ctx_load_priv_file() can be called more than once, while the
init should be called once, right?
Are you sure all works well if engine is not statically linked?
What about ENGINE_finish() at proper place?

Thank you for your patience,
Alon Bar-Lev.


On Sun, Jun 17, 2012 at 11:53 PM, Thomas Habets <tho...@habets.se> wrote:
> Hi.
>
> Need? No. I thought you preferred reusing the loaded/inited ENGINE
> struct cached by existing code instead of creating a new one.
>
> Is the attached patch what you had in mind?
>
> (same description/sign-off)
>
> Regards,
> Thomas
>
>
> On 17 June 2012 12:12, Alon Bar-Lev <alon.bar...@gmail.com> wrote:
>> Hi,
>>
>> Why do we need to crypto_init_lib_engine() twice? Can you please take
>> a look at init_crypto_pre:: init_crypto_pre()?
>>
>> I also think crypto_init_lib_engine() should not return the engine...
>> as won't it simpler to use ENGINE_by_id() at
>> ssl_openssl.c::tls_ctx_load_priv_file()?
>>
>> Alon.
>>
>> On Sun, Jun 17, 2012 at 1:02 PM, Thomas Habets <tho...@habets.se> wrote:
>>> Hi.
>>>
>>> Ah yes, I first made the patch to an older version where some of these
>>> things don't apply, and then forward-ported it.
>>>
>>> How about this?
>>> ---------
>>> Add support for SSL engine loading the private key.
>>>
>>> Option 'engine' is used to specify the name of the engine that
>>> will load the private key.
>>>
>>> For example this can be "tpm" to use the OpenSSL TPM engine module
>>> (libengine-tpm-openssl in Debian).
>>>
>>> It defaults to the built-in UI methods because openssl-tpm-engine
>>> doesn't yet support user data being sent to the callback functions.
>>> A patch for that on its way to them.
>>>
>>> Some more details:
>>> http://blog.habets.pp.se/2012/02/TPM-backed-SSL
>>>
>>> Signed-off-by: Thomas Habets <hab...@google.com>
>>>
>>>
>>>
>>> On 17 June 2012 01:11, Alon Bar-Lev <alon.bar...@gmail.com> wrote:
>>>> Hello,
>>>>
>>>> It is a good idea.
>>>> But first, please remove the emacs stuff.
>>>>
>>>> Now, I see that the ENGINE_load_builtin_engines() is already called at
>>>> crypto_openssl.c::crypto_init_lib_engine, is there any require to
>>>> duplicate this?
>>>>
>>>> There is already "engine" option, available only to polarssl, it can
>>>> easily and correct way be used also for openssl, instead of having
>>>> another option.
>>>>
>>>> What do you think?
>>>> Alon.
>>>>
>>>>
>>>> On Sun, Jun 17, 2012 at 2:50 AM, Thomas Habets <tho...@habets.se> wrote:
>>>>> Patch attached.
>>>>>
>>>>> Add support for SSL engine loading the private key.
>>>>>
>>>>> Added option 'key-engine' specifying the name of the engine that
>>>>> will load the private key.
>>>>>
>>>>> For example this can be "tpm" to use the OpenSSL TPM engine module
>>>>> (libengine-tpm-openssl in Debian).
>>>>>
>>>>> It defaults to the built-in UI methods because openssl-tpm-engine
>>>>> doesn't yet support user data being sent to the callback functions.
>>>>> A patch for that on its way to them.
>>>>>
>>>>> Some more details:
>>>>> http://blog.habets.pp.se/2012/02/TPM-backed-SSL
>>>>>
>>>>> Signed-off-by: Thomas Habets <hab...@google.com>
>>>>>
>>>>> --
>>>>> typedef struct me_s {
>>>>>  char name[]      = { "Thomas Habets" };
>>>>>  char email[]     = { "tho...@habets.pp.se" };
>>>>>  char kernel[]    = { "Linux" };
>>>>>  char *pgpKey[]   = { "http://www.habets.pp.se/pubkey.txt"; };
>>>>>  char pgp[] = { "A8A3 D1DD 4AE0 8467 7FDE  0945 286A E90A AD48 E854" };
>>>>>  char coolcmd[]   = { "echo '. ./_&. ./_'>_;. ./_" };
>>>>> } me_t;
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> Live Security Virtual Conference
>>>>> Exclusive live event will cover all the ways today's security and
>>>>> threat landscape has changed and how IT managers can respond. Discussions
>>>>> will include endpoint security, mobile security and the latest in malware
>>>>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>>>>> _______________________________________________
>>>>> Openvpn-devel mailing list
>>>>> Openvpn-devel@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/openvpn-devel
>>>>>
>>>
>>>
>>>
>>> --
>>> typedef struct me_s {
>>>  char name[]      = { "Thomas Habets" };
>>>  char email[]     = { "tho...@habets.pp.se" };
>>>  char kernel[]    = { "Linux" };
>>>  char *pgpKey[]   = { "http://www.habets.pp.se/pubkey.txt"; };
>>>  char pgp[] = { "A8A3 D1DD 4AE0 8467 7FDE  0945 286A E90A AD48 E854" };
>>>  char coolcmd[]   = { "echo '. ./_&. ./_'>_;. ./_" };
>>> } me_t;

Reply via email to