Further code optimization

- key_opaque_set_alg_usage(): set alg/usage in loop
- key_opaque_set_alg_usage(): add key paramteter to set default alg/usage if it is not specified by command line parameters
- unify default alg/usage for client and server
- optimize opaque code on client and server side

Signed-off-by: Przemek Stekiel <przemyslaw.stekiel@mobica.com>
diff --git a/programs/ssl/ssl_test_lib.h b/programs/ssl/ssl_test_lib.h
index 367b8e2..f0d0c3b 100644
--- a/programs/ssl/ssl_test_lib.h
+++ b/programs/ssl/ssl_test_lib.h
@@ -246,10 +246,12 @@
  *
  *
  * \param alg1          input string opaque key algorithm #1
- * \param alg1          input string opaque key algorithm #2
+ * \param alg2          input string opaque key algorithm #2
  * \param psa_alg1      output PSA algorithm #1
  * \param psa_alg2      output PSA algorithm #2
  * \param usage         output key usage
+ * \param key_type      key type used to set default psa algorithm/usage
+ *                      when alg1 in "none"
  *
  * \return              \c 0 on success.
  * \return              \c 1 on parse failure.
@@ -257,7 +259,8 @@
 int key_opaque_set_alg_usage( const char *alg1, const char *alg2,
                               psa_algorithm_t *psa_alg1,
                               psa_algorithm_t *psa_alg2,
-                              psa_key_usage_t *usage );
+                              psa_key_usage_t *usage,
+                              mbedtls_pk_type_t key_type );
 #endif /* MBEDTLS_USE_PSA_CRYPTO */
 
 #if defined(MBEDTLS_USE_PSA_CRYPTO) && defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG)