当前位置:  开发笔记 > 前端 > 正文

使用OpenSSL和pthreads的教程

如何解决《使用OpenSSL和pthreads的教程》经验,为你挑选了3个好方法。

OpenSSL文档声明它可以安全地用于多线程应用程序,前提是至少设置了两个回调函数,locking_function和threadid_func ....

我编写了使用OpenSSL API的程序.而且,我知道如何使用pthreads.但是,OpenSSL文档是以手册的形式编写的,我无法看到在多线程应用程序中使用OpenSSL时我必须要做的一步一步的指导.

是否有关于使用OpenSSL和pthreads的教程?(我在网上搜索,但没有出现满意的结果.)

PS:我在Debian Lenny和Ubuntu Lucid/Maverick工作.

PS2: OpenSSL包含一个示例,但它开始时太复杂了.



1> M.S. Dousti..:

"Linux网络编程权威指南 "一书的第10章包括使用OpenSSL进行线程安全编程的一节(第255-259页).本节详细介绍了OpenSSL和pthreads库的工作原理.特别的,它告诉如何设置无论是在静态分配(其中的线程数是已知的回调函数先验)和动态分配(如创建和销毁线程在运行).

另一个很好的来源是OpenSSL网络安全一书的第4.1节,标题为多线程支持.它分别在4.1.1和4.1.2小节中提供静态/动态分配机制.

最后,有一本书Unix-Netzwerkprogrammierung mit Threads,Sockets und SSL,这是迄今为止关于这个主题的最全面的一本.不幸的是,这本德国书的英文翻译不可用.



2> Wodin..:

不知道有关教程,但这里有两个基于libcurl的示例可能会有所帮助:

http://curl.haxx.se/libcurl/c/opensslthreadlock.html
http://curl.haxx.se/libcurl/c/threaded-ssl.html



3> MichaelMoser..:

必须使用threads选项配置openssl ./config thread -D_REENTRANT

这是复制和粘贴的问题; openssl tar ball包含一个文件样本crypto/threads/mttest.c

复制相关平台的具体实现并调用thread_setup进行初始化,并调用thread_cleanup进行包装;

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有