diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2003-02-09 09:53:04 +0000 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2003-02-09 09:53:04 +0000 |
commit | 55399994cbc14d0f01e310d04b3f097e61bf436c (patch) | |
tree | e177bc9a080ffe7beecd93de128e1c4ecd919f78 | |
parent | 52a2b840ea8770eadb9f49323e12a8acb4cf3dfc (diff) | |
download | gnutls-55399994cbc14d0f01e310d04b3f097e61bf436c.tar.gz |
fixes in pkcs3 DH parameter generation.
-rw-r--r-- | lib/gnutls_dh_primes.c | 5 | ||||
-rw-r--r-- | src/prime.c | 24 |
2 files changed, 26 insertions, 3 deletions
diff --git a/lib/gnutls_dh_primes.c b/lib/gnutls_dh_primes.c index 0c11f9c263..035320e37c 100644 --- a/lib/gnutls_dh_primes.c +++ b/lib/gnutls_dh_primes.c @@ -498,7 +498,7 @@ int gnutls_pkcs3_export_dh_params( const gnutls_datum * prime, result = _gnutls_fbase64_encode("DH PARAMETERS", tmp, len, &out); - + if (result < 0) { gnutls_assert(); return result; @@ -509,7 +509,7 @@ int gnutls_pkcs3_export_dh_params( const gnutls_datum * prime, return GNUTLS_E_INTERNAL_ERROR; } - if (result > *params_data_size) { + if (result + 1 > *params_data_size) { gnutls_assert(); gnutls_free(out); *params_data_size = result; @@ -518,6 +518,7 @@ int gnutls_pkcs3_export_dh_params( const gnutls_datum * prime, *params_data_size = result; memcpy( params_data, out, result); + params_data[result] = 0; gnutls_free( out); } diff --git a/src/prime.c b/src/prime.c index 74b83bbb64..cf8ae07ae8 100644 --- a/src/prime.c +++ b/src/prime.c @@ -46,7 +46,7 @@ int main(int argc, char **argv) gnutls_global_init(); - fprintf(stderr, "Generating prime..."); + fprintf(stderr, "Generating DH parameters..."); gcry_control (GCRYCTL_SET_VERBOSITY, (int)0); /* this is an emulation of Michael Wiener's table @@ -80,6 +80,17 @@ int main(int argc, char **argv) } printf("\n};\n\n"); + } else { + printf( "\nGenerator: "); + + for (i=0;i<size;i++) { + if (i!=0 && i%12==0) printf("\n\t"); + else if (i!=0 && i!=size-1) printf( ":"); + + printf( "%.2x", tmp1[i]); + } + + printf("\n\n"); } /* print prime */ @@ -103,6 +114,17 @@ int main(int argc, char **argv) } printf("\n};\n"); + } else { + printf( "Prime: "); + + for (i=0;i<size;i++) { + if (i!=0 && i%12==0) printf("\n\t"); + else if (i!=0 && i!=size-1) printf( ":"); + printf( "%.2x", tmp2[i]); + } + + printf("\n\n"); + } if (!info.cparams) { /* generate a PKCS#3 structure */ |