PK: add nice interface functions
Also fix a const-corectness issue.
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index 36c4f2f..0780da5 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -2517,10 +2517,13 @@
}
/* EC NOT IMPLEMENTED YET */
- if( ssl->session_negotiate->peer_cert->pk.type != POLARSSL_PK_RSA )
+ if( ! pk_can_do( &ssl->session_negotiate->peer_cert->pk,
+ POLARSSL_PK_RSA ) )
+ {
return( POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE );
+ }
- n1 = pk_rsa( ssl->session_negotiate->peer_cert->pk )->len;
+ n1 = pk_get_size( &ssl->session_negotiate->peer_cert->pk ) / 8;
n2 = ( ssl->in_msg[4 + n] << 8 ) | ssl->in_msg[5 + n];
if( n + n1 + 6 != ssl->in_hslen || n1 != n2 )