Call X509_free after SSL_get_peer_certificate

master
Bill St. Clair 2011-09-14 21:15:51 -04:00
parent 5e9c7f819c
commit e5a78fb364
2 changed files with 10 additions and 3 deletions

View File

@ -231,6 +231,10 @@
:pointer
(ssl ssl-pointer))
(cffi:defcfun ("X509_free" x509-free)
:void
(x509 :pointer))
(cffi:defcfun ("X509_NAME_oneline" x509-name-oneline)
:pointer
(x509-name :pointer)

View File

@ -24,9 +24,12 @@
(let* ((ssl (ssl-stream-handle ssl-stream))
(cert (ssl-get-peer-certificate ssl)))
(unless (cffi:null-pointer-p cert)
(multiple-value-bind (issuer subject)
(x509-certificate-names cert)
(format output-stream " issuer: ~a~% subject: ~a~%" issuer subject)))))
(unwind-protect
(multiple-value-bind (issuer subject)
(x509-certificate-names cert)
(format output-stream
" issuer: ~a~% subject: ~a~%" issuer subject))
(x509-free cert)))))
;; from cl+ssl/example.lisp
(defun test-https-client-2 (host &key (port 443) show-text-p)