在opensoalris下net-snmp使用的加密库

如果你在netsnmp的官网上的说明的话,你会以为他是用的是openssl,其实不是的,我刚开始也以为是使用的openssl,但是在多次尝试未果的情况下,我使用ldd才知道它使用的是libpkcs11.具体见下面的分析:

test@test:~# ldd /usr/sbin/snmpd
libc.so.1 => /lib/libc.so.1
libm.so.2 => /lib/libm.so.2
test@test:~# ldd /usr/sfw/sbin/amd64/snmpd
libnetsnmpagent.so.5 => /usr/lib/amd64/libnetsnmpagent.so.5
libnetsnmpmibs.so.5 => /usr/lib/amd64/libnetsnmpmibs.so.5
libnetsnmphelpers.so.5 => /usr/lib/amd64/libnetsnmphelpers.so.5
libnetsnmp.so.5 => /usr/lib/amd64/libnetsnmp.so.5
libkvm.so.1 => /usr/lib/amd64/libkvm.so.1
libz.so.1 => /usr/lib/amd64/libz.so.1
libpkcs11.so.1 => /usr/lib/amd64/libpkcs11.so.1
libkstat.so.1 => /usr/lib/amd64/libkstat.so.1
libelf.so.1 => /usr/lib/amd64/libelf.so.1
libm.so.2 => /usr/lib/amd64/libm.so.2
libdl.so.1 => /usr/lib/amd64/libdl.so.1
libnsl.so.1 => /usr/lib/amd64/libnsl.so.1
libsocket.so.1 => /usr/lib/amd64/libsocket.so.1
libadm.so.1 => /usr/lib/amd64/libadm.so.1
libc.so.1 => /usr/lib/amd64/libc.so.1
libcryptoutil.so.1 => /lib/64/libcryptoutil.so.1
libmp.so.2 => /lib/64/libmp.so.2
libmd.so.1 => /lib/64/libmd.so.1
libscf.so.1 => /lib/64/libscf.so.1
libuutil.so.1 => /lib/64/libuutil.so.1
libgen.so.1 => /lib/64/libgen.so.1
可以看到它根本没有使用到libcrypto.so,opensolaris对它进行重写。

refs:

http://blogs.sun.com/DanX/entry/where_s_the_crypto_libraries