/[imapfilter]/imapfilter/socket.c
ViewVC logotype

Diff of /imapfilter/socket.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by lefcha, Tue Oct 23 09:23:08 2001 UTC revision 1.3 by lefcha, Thu Nov 1 16:38:23 2001 UTC
# Line 13  Line 13 
13  #ifdef SSL_TLS  #ifdef SSL_TLS
14  #include <openssl/ssl.h>  #include <openssl/ssl.h>
15  #include <openssl/err.h>  #include <openssl/err.h>
16    #include <openssl/x509.h>
17    
18    
19  static SSL *ssl;  static SSL *ssl;
# Line 85  int ssl_init(unsigned int protocol) Line 86  int ssl_init(unsigned int protocol)
86      int e;      int e;
87      SSL_CTX *ctx;      SSL_CTX *ctx;
88      SSL_METHOD *method = NULL;      SSL_METHOD *method = NULL;
89        X509 *cert;
90        char *c;
91        EVP_MD *evp;
92        unsigned char digest[EVP_MAX_MD_SIZE];
93        int s, i;
94    
95      SSL_library_init();      SSL_library_init();
96    
# Line 115  int ssl_init(unsigned int protocol) Line 121  int ssl_init(unsigned int protocol)
121                ERR_error_string(e, NULL));                ERR_error_string(e, NULL));
122          return ERROR_SSL;          return ERROR_SSL;
123      }      }
124        /* Get server's certificate. */
125        if (!(cert = SSL_get_peer_certificate(ssl)))
126            return ERROR_SSL;
127    
128        if (!(c = X509_NAME_oneline(X509_get_subject_name(cert), 0, 0)))
129            return ERROR_SSL;
130        verbose("Server certificate subject: %s\n", c);
131        free(c);
132    
133        if (!(c = X509_NAME_oneline(X509_get_issuer_name(cert), 0, 0)))
134            return ERROR_SSL;
135        verbose("Server certificate issuer: %s\n", c);
136        free(c);
137    
138        if (!(evp = EVP_md5()))
139            return ERROR_SSL;
140        if (!(X509_digest(cert, evp, digest, &s)))
141            return ERROR_SSL;
142    
143        verbose("Server key fingerprint: ");
144        for (i = 0; i < s; i++)
145            verbose(i != s - 1 ? "%02X:" : "%02X\n", digest[i]);
146    
147        X509_free(cert);
148      SSL_CTX_free(ctx);      SSL_CTX_free(ctx);
149    
150      return 0;      return 0;

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

webmaster@linux.gr
ViewVC Help
Powered by ViewVC 1.1.26