summaryrefslogtreecommitdiff
path: root/lib/gnutls_pk.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gnutls_pk.c')
-rw-r--r--lib/gnutls_pk.c152
1 files changed, 87 insertions, 65 deletions
diff --git a/lib/gnutls_pk.c b/lib/gnutls_pk.c
index 8794207382..b97bc4d02c 100644
--- a/lib/gnutls_pk.c
+++ b/lib/gnutls_pk.c
@@ -97,7 +97,7 @@ _gnutls_pkcs1_rsa_encrypt (gnutls_datum_t * ciphertext,
}
ret = _gnutls_rnd (RND_RANDOM, ps, psize);
- if ( ret < 0)
+ if (ret < 0)
{
gnutls_assert ();
gnutls_free (edata);
@@ -141,9 +141,11 @@ _gnutls_pkcs1_rsa_encrypt (gnutls_datum_t * ciphertext,
to_encrypt.size = k;
if (btype == 2) /* encrypt */
- ret = _gnutls_pk_encrypt (GNUTLS_PK_RSA, &encrypted, &to_encrypt, &pk_params);
+ ret =
+ _gnutls_pk_encrypt (GNUTLS_PK_RSA, &encrypted, &to_encrypt, &pk_params);
else /* sign */
- ret = _gnutls_pk_sign (GNUTLS_PK_RSA, &encrypted, &to_encrypt, &pk_params);
+ ret =
+ _gnutls_pk_sign (GNUTLS_PK_RSA, &encrypted, &to_encrypt, &pk_params);
gnutls_free (edata);
@@ -185,7 +187,7 @@ _gnutls_pkcs1_rsa_encrypt (gnutls_datum_t * ciphertext,
return GNUTLS_E_MEMORY_ERROR;
}
- memcpy( &ciphertext->data[pad], encrypted.data, encrypted.size);
+ memcpy (&ciphertext->data[pad], encrypted.data, encrypted.size);
for (i = 0; i < pad; i++)
ciphertext->data[i] = 0;
@@ -233,11 +235,13 @@ _gnutls_pkcs1_rsa_decrypt (gnutls_datum_t * plaintext,
*/
if (btype == 2)
{
- ret = _gnutls_pk_decrypt (GNUTLS_PK_RSA, plaintext, ciphertext, &pk_params);
+ ret =
+ _gnutls_pk_decrypt (GNUTLS_PK_RSA, plaintext, ciphertext, &pk_params);
}
else
{
- ret = _gnutls_pk_encrypt (GNUTLS_PK_RSA, plaintext, ciphertext, &pk_params);
+ ret =
+ _gnutls_pk_encrypt (GNUTLS_PK_RSA, plaintext, ciphertext, &pk_params);
}
if (ret < 0)
@@ -284,16 +288,16 @@ _gnutls_pkcs1_rsa_decrypt (gnutls_datum_t * plaintext,
if (plaintext->data[i] != 0xff)
{
_gnutls_handshake_log ("PKCS #1 padding error");
- _gnutls_free_datum( plaintext);
+ _gnutls_free_datum (plaintext);
/* PKCS #1 padding error. Don't use
- GNUTLS_E_PKCS1_WRONG_PAD here. */
+ GNUTLS_E_PKCS1_WRONG_PAD here. */
break;
}
}
break;
default:
gnutls_assert ();
- _gnutls_free_datum( plaintext);
+ _gnutls_free_datum (plaintext);
break;
}
i++;
@@ -301,11 +305,11 @@ _gnutls_pkcs1_rsa_decrypt (gnutls_datum_t * plaintext,
if (ret < 0)
{
gnutls_assert ();
- _gnutls_free_datum( plaintext);
+ _gnutls_free_datum (plaintext);
return GNUTLS_E_DECRYPTION_FAILED;
}
-
- memmove(plaintext->data, &plaintext->data[i], esize - i);
+
+ memmove (plaintext->data, &plaintext->data[i], esize - i);
plaintext->size = esize - i;
return 0;
@@ -434,7 +438,8 @@ _gnutls_dsa_sign (gnutls_datum_t * signature,
/* decodes the Dss-Sig-Value structure
*/
int
-_gnutls_decode_ber_rs (const gnutls_datum_t * sig_value, bigint_t * r, bigint_t * s)
+_gnutls_decode_ber_rs (const gnutls_datum_t * sig_value, bigint_t * r,
+ bigint_t * s)
{
ASN1_TYPE sig;
int result;
@@ -511,78 +516,95 @@ _gnutls_dsa_verify (const gnutls_datum_t * vdata,
}
/* some generic pk functions */
-static
-int _generate_params(int algo, bigint_t * resarr, unsigned int *resarr_len, int bits)
+static int
+_generate_params (int algo, bigint_t * resarr, unsigned int *resarr_len,
+ int bits)
{
-gnutls_pk_params_st params;
-int ret;
-unsigned int i;
-
- ret = _gnutls_pk_ops.generate( GNUTLS_PK_RSA, bits, &params);
-
- if (ret < 0) {
- gnutls_assert();
- return ret;
- }
+ gnutls_pk_params_st params;
+ int ret;
+ unsigned int i;
- if (resarr && resarr_len && *resarr_len > params.params_nr) {
- *resarr_len = params.params_nr;
- for (i=0;i<params.params_nr;i++)
- resarr[i] = params.params[i];
- } else {
- gnutls_assert();
- return GNUTLS_E_INVALID_REQUEST;
- }
- return 0;
+ ret = _gnutls_pk_ops.generate (GNUTLS_PK_RSA, bits, &params);
+
+ if (ret < 0)
+ {
+ gnutls_assert ();
+ return ret;
+ }
+
+ if (resarr && resarr_len && *resarr_len > params.params_nr)
+ {
+ *resarr_len = params.params_nr;
+ for (i = 0; i < params.params_nr; i++)
+ resarr[i] = params.params[i];
+ }
+ else
+ {
+ gnutls_assert ();
+ return GNUTLS_E_INVALID_REQUEST;
+ }
+ return 0;
}
-int _gnutls_rsa_generate_params (bigint_t * resarr, unsigned int *resarr_len, int bits)
+int
+_gnutls_rsa_generate_params (bigint_t * resarr, unsigned int *resarr_len,
+ int bits)
{
- return _generate_params( GNUTLS_PK_RSA, resarr, resarr_len, bits);
+ return _generate_params (GNUTLS_PK_RSA, resarr, resarr_len, bits);
}
-int _gnutls_dsa_generate_params (bigint_t * resarr, unsigned int *resarr_len, int bits)
+int
+_gnutls_dsa_generate_params (bigint_t * resarr, unsigned int *resarr_len,
+ int bits)
{
- return _generate_params( GNUTLS_PK_DSA, resarr, resarr_len, bits);
+ return _generate_params (GNUTLS_PK_DSA, resarr, resarr_len, bits);
}
-int _gnutls_pk_params_copy( gnutls_pk_params_st* dst, bigint_t* params, int params_len)
+int
+_gnutls_pk_params_copy (gnutls_pk_params_st * dst, bigint_t * params,
+ int params_len)
{
-int i,j;
- dst->params_nr = 0;
+ int i, j;
+ dst->params_nr = 0;
- dst->params = gnutls_malloc( sizeof(bigint_t)*params_len);
- if (dst->params == NULL) {
- gnutls_assert();
- return GNUTLS_E_MEMORY_ERROR;
- }
+ dst->params = gnutls_malloc (sizeof (bigint_t) * params_len);
+ if (dst->params == NULL)
+ {
+ gnutls_assert ();
+ return GNUTLS_E_MEMORY_ERROR;
+ }
- for (i=0;i<params_len;i++) {
- dst->params[i] = _gnutls_mpi_set( NULL, params[i]);
- if (dst->params[i] == NULL) {
- for (j=0;j<i;j++)
- _gnutls_mpi_release( &dst->params[j]);
- return GNUTLS_E_MEMORY_ERROR;
- }
- dst->params_nr++;
+ for (i = 0; i < params_len; i++)
+ {
+ dst->params[i] = _gnutls_mpi_set (NULL, params[i]);
+ if (dst->params[i] == NULL)
+ {
+ for (j = 0; j < i; j++)
+ _gnutls_mpi_release (&dst->params[j]);
+ return GNUTLS_E_MEMORY_ERROR;
}
-
- return 0;
+ dst->params_nr++;
+ }
+
+ return 0;
}
-void gnutls_pk_params_init( gnutls_pk_params_st* p)
+void
+gnutls_pk_params_init (gnutls_pk_params_st * p)
{
- memset( p, 0, sizeof(gnutls_pk_params_st));
+ memset (p, 0, sizeof (gnutls_pk_params_st));
}
-void gnutls_pk_params_release( gnutls_pk_params_st* p)
+void
+gnutls_pk_params_release (gnutls_pk_params_st * p)
{
-unsigned int i;
- for (i=0;i<p->params_nr;i++) {
- _gnutls_mpi_release( &p->params[i]);
- }
- gnutls_free( p->params);
- p->params = NULL;
+ unsigned int i;
+ for (i = 0; i < p->params_nr; i++)
+ {
+ _gnutls_mpi_release (&p->params[i]);
+ }
+ gnutls_free (p->params);
+ p->params = NULL;
}