Call X509_free after SSL_get_peer_certificate
parent
5e9c7f819c
commit
e5a78fb364
4
ffi.lisp
4
ffi.lisp
|
@ -231,6 +231,10 @@
|
||||||
:pointer
|
:pointer
|
||||||
(ssl ssl-pointer))
|
(ssl ssl-pointer))
|
||||||
|
|
||||||
|
(cffi:defcfun ("X509_free" x509-free)
|
||||||
|
:void
|
||||||
|
(x509 :pointer))
|
||||||
|
|
||||||
(cffi:defcfun ("X509_NAME_oneline" x509-name-oneline)
|
(cffi:defcfun ("X509_NAME_oneline" x509-name-oneline)
|
||||||
:pointer
|
:pointer
|
||||||
(x509-name :pointer)
|
(x509-name :pointer)
|
||||||
|
|
|
@ -24,9 +24,12 @@
|
||||||
(let* ((ssl (ssl-stream-handle ssl-stream))
|
(let* ((ssl (ssl-stream-handle ssl-stream))
|
||||||
(cert (ssl-get-peer-certificate ssl)))
|
(cert (ssl-get-peer-certificate ssl)))
|
||||||
(unless (cffi:null-pointer-p cert)
|
(unless (cffi:null-pointer-p cert)
|
||||||
(multiple-value-bind (issuer subject)
|
(unwind-protect
|
||||||
(x509-certificate-names cert)
|
(multiple-value-bind (issuer subject)
|
||||||
(format output-stream " issuer: ~a~% subject: ~a~%" issuer subject)))))
|
(x509-certificate-names cert)
|
||||||
|
(format output-stream
|
||||||
|
" issuer: ~a~% subject: ~a~%" issuer subject))
|
||||||
|
(x509-free cert)))))
|
||||||
|
|
||||||
;; from cl+ssl/example.lisp
|
;; from cl+ssl/example.lisp
|
||||||
(defun test-https-client-2 (host &key (port 443) show-text-p)
|
(defun test-https-client-2 (host &key (port 443) show-text-p)
|
||||||
|
|
Loading…
Reference in New Issue