summaryrefslogtreecommitdiff
path: root/src/serv.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2001-12-05 13:41:46 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2001-12-05 13:41:46 +0000
commit3566f540c2ea57ef3fced95b06f6ba52f4f24ab8 (patch)
treed47fb1e64c4060ff98543f33fa82d048ba533e7d /src/serv.c
parent091cea8dbd1e5fbd940d4c863b68d5eb5ff7cab3 (diff)
downloadgnutls-3566f540c2ea57ef3fced95b06f6ba52f4f24ab8.tar.gz
optimized certificate handling API
Diffstat (limited to 'src/serv.c')
-rw-r--r--src/serv.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/serv.c b/src/serv.c
index 6d9122d992..4f068738af 100644
--- a/src/serv.c
+++ b/src/serv.c
@@ -104,13 +104,13 @@ GNUTLS_STATE initialize_state()
void print_info(GNUTLS_STATE state)
{
const char *tmp;
+ const gnutls_datum * cert_list;
unsigned char sesid[32];
int sesid_size, i;
gnutls_DN dn;
CredType cred;
CertificateStatus status;
- char dnsname[512];
- int dnsname_size;
+ int cert_list_size = 0;
/* print session_id specific data */
gnutls_get_current_session_id( state, sesid, &sesid_size);
@@ -141,7 +141,9 @@ void print_info(GNUTLS_STATE state)
break;
case GNUTLS_X509PKI:
- status = gnutls_x509pki_client_get_peer_certificate_status( state);
+ cert_list = gnutls_x509pki_server_get_peer_certificate_list( state, &cert_list_size);
+ status = gnutls_x509pki_server_get_peer_certificate_status( state);
+
switch( status) {
case GNUTLS_CERT_NOT_TRUSTED:
printf("- Peer's X509 Certificate was NOT verified\n");
@@ -164,16 +166,16 @@ void print_info(GNUTLS_STATE state)
printf("\n- Ephemeral DH using prime of %d bits\n",
gnutls_x509pki_server_get_dh_bits( state));
}
-
- if (status!=GNUTLS_CERT_NONE && status!=GNUTLS_CERT_INVALID) {
+
+ if (cert_list_size > 0) {
printf(" - Certificate info:\n");
- printf(" - Certificate version: #%d\n", gnutls_x509pki_client_get_peer_certificate_version(state));
+ printf(" - Certificate version: #%d\n", gnutls_x509pki_server_extract_certificate_version( &cert_list[0]));
- if ( gnutls_x509pki_client_get_peer_dn( state, &dn) >= 0) {
+ if ( gnutls_x509pki_server_extract_dn( &cert_list[0], &dn) >= 0) {
PRINT_DN( dn);
}
- if (gnutls_x509pki_client_get_issuer_dn( state, &dn) >= 0) {
+ if (gnutls_x509pki_server_extract_dn( &cert_list[0], &dn) >= 0) {
printf(" - Certificate Issuer's info:\n");
PRINT_DN( dn);
}