使用c语言在solaris上的openssl问题

openssl issue on solaris using c language

我正在尝试实现 TLS 连接以使用 post 命中 URL,它还包含一些查询字符串以获取一些响应数据。我正在尝试在 Solaris 上使用 OpenSSL 但遇到了一些错误。下面我 posting o/p

bash-3.2# /usr/sfw/bin/gcc ssl.c -lkstat -lnsl -lsocket -lresolv -lssl ssl.c:72:23: warning: unknown escape sequence ,
ssl.c:72:23: warning: unknown escape sequence ,    
Undefined first referenced symbol in file BIO_write /var/tmp//cc2qj0DA.o    (symbol belongs to im plicit dependency /usr/sfw/lib/gcc/i386--solaris2.10/3.4    .3/../../../libcrypto .so.0.9.7)    
BIO_free_all /var/tmp//cc2qj0DA.o (symbol belongs to implicit dependency usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/../../../libcrypto .so.0.9.7)     
IO_ctrl /var/tmp//cc2qj0DA.o (symbol belongs to implicit dependency /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/../../../libcrypto .so.0.9.7)    
BIO_read /var/tmp//cc2qj0DA.o (symbol belongs to implicit dependency /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/../../../libcrypto .so.0.9.7)    
ld: fatal: symbol referencing errors. No output written to a.out collect2:     
ld returned 1 exit status

看起来你的来源引用 BIO_write,它是在 libcrypto 中定义的,而不是 libssl,但你只 link 和 libssl(通过-lssl)。也尝试传递 -lcrypto

注意: OpenSSL 0.9.7 真的非常非常旧。最后一个上游版本是在 2005 年发布的 (!)。您应该认真考虑使用更新的版本。