openssl
openssl采用C
linux
1)解压openssl开发包文件;
2)运行./config --prefix=/usr/local/openssl (更多选项用./config --help来查看),可用的选项有:no-mdc2、no-castno-rc2、no-rc5
3)maketest (可选)
4)makeinstall
完成后,openssl会被安装到/usr/local/openssl
windows
1)
2) 安装perl5;
3)
4) 在控制台下进入openssl目录;
5)
6) ms/do_ms.bak
7) nmake -f ms/ntdll.mak
编译debug
编辑do_ms.bak,修改前内容如下:
perl util/mkfiles.pl >MINFO
perl util/mk1mf.pl no-asm VC-WIN32 >ms/nt.mak
perl util/mk1mf.pl dll no-asmVC-WIN32 >ms/ntdll.mak
perl util/mk1mf.pl no-asm VC-CE >ms/ce.mak
perl util/mk1mf.pl dll no-asmVC-CE >ms/cedll.mak
perl util/mkdef.pl 32 libeay > ms/libeay32.def
perl util/mkdef.pl 32 ssleay >ms/ssleay32.def
perl util/mkfiles.pl >MINFO
perl util/mk1mf.pldebug no-asm VC-WIN32 >ms/nt.mak #添加debug
perl util/mk1mf.pldebug dll no-asm VC-WIN32>ms/ntdll.mak #添加debug
perl util/mk1mf.pldebug no-asm VC-CE >ms/ce.mak #添加debug
perl util/mk1mf.pldebug dll no-asm VC-CE>ms/cedll.mak #添加debug
perl util/mkdef.pl 32 libeay >ms/libeay32.def
perl util/mkdef.pl 32 ssleay >ms/ssleay32.def
安装完毕后,生成的头文件放在inc32
另外用户可以在windows
openssl源代码主要由eay
eay
1) asn.1 DER
2)
3)
4)
5)
6) DSO(
7)
8)
9)
10) HMAC(crypto/hmac目录)
11) hash
12) 数字证书在线认证(crypto/ocsp
13) PEM
14) pkcs7
15) pkcs12
16) 队列(crypto/pqueue目录)
17) 随机数(crypto/rand目录),实现了伪随机数生成,支持用户自定义随机数生成。
18) 堆栈(crypto/stack目录),实现了堆栈数据结构。
19) 线程支持(crypto/threads),openssl
20) 文本数据库(crypto/txt_db目录)
21) x509
22) 对称算法(crypto/aes、crypto/bf
23) 非对称算法(crypto/dh、crypto/dsa
24) 摘要算法(crypto/md2、crypto/md4、crypto/md5和crypto/sha)以及密钥交换/
ssl库所有源代码在ssl
工具源码主要在crypto/apps目录下,默认编译时只编译成openssl(windows
范例源码在demo目录下,另外engines目录给出了openssl
测试源码主要在test目录下。
通过学习openssl
1)
建立一个供调试的openssl
2)学习openssl
通过openssl
3)
主要的源代码有:
apps目录下的各个程序,对应于openssl
demos下的各种源代码;
engines下的各种engine
test目录下的各种源代码。
对于openssl
4)
openssl
5)
Linux下主要用man
6)
读者可以参考《OpenSSL