Skip to content

Commit 3e31477

Browse files
committed
Generate 3072 RSA keys by default instead of 2048.
1 parent 965e814 commit 3e31477

File tree

6 files changed

+22
-6
lines changed

6 files changed

+22
-6
lines changed

docs/cli-usage.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
== Generating an RSA private key
44

5-
By default, `rnpkeys --generate-key` generates a 2048-bit RSA key.
5+
By default, `rnpkeys --generate-key` generates a 3072-bit RSA key.
66

77
[source,console]
88
----

src/lib/defaults.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
#define DEFAULT_PK_ALG PGP_PKA_RSA
6060

6161
/* Default RSA key length */
62-
#define DEFAULT_RSA_NUMBITS 2048
62+
#define DEFAULT_RSA_NUMBITS 3072
6363

6464
/* Default ElGamal key length */
6565
#define DEFAULT_ELGAMAL_NUMBITS 2048

src/rnpkeys/rnpkeys.1.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ Without additional options, an RSA primary key pair with an RSA sub-key pair wil
111111
Additional options:
112112

113113
*--numbits*:::
114-
Overrides the default RSA key size of *2048* bits.
114+
Overrides the default key size. For RSA it is *3072* bits.
115115

116116
*--expiration* _TIME_:::
117117
Set key and subkey expiration time, counting from the creation time. +

src/rnpkeys/rnpkeys.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include "../rnp/fficli.h"
1111
#include "logging.h"
1212

13-
#define DEFAULT_RSA_NUMBITS 2048
13+
#define DEFAULT_RSA_NUMBITS 3072
1414

1515
typedef enum {
1616
/* commands */

src/tests/cli_tests.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,7 +1049,7 @@ def _rnpkey_generate_rsa(self, bits= None):
10491049
params = ['--numbits', str(bits)]
10501050
else:
10511051
params = []
1052-
bits = 2048
1052+
bits = 3072
10531053

10541054
userid = str(bits) + '@rnptest'
10551055
# Open pipe for password
@@ -4302,6 +4302,12 @@ def test_armor_headers(self):
43024302
self.assertRegex(err, r'(?s)^.*wrong armor trailer.*')
43034303
self.assertRegex(err, r'(?s)^.*dearmoring failed.*')
43044304

4305+
def test_default_rsa_keygen(self):
4306+
ret, out, err = run_proc(RNPK, ['--homedir', RNPDIR2, '--generate', '--password', PASSWORD])
4307+
self.assertEqual(ret, 0)
4308+
self.assertRegex(out, r'(?s)^.*sec.*3072/RSA.*\[SC\].*ssb.*3072/RSA.*\[E\].*')
4309+
self.assertRegex(err, r'(?s)^.*Keyring directory.*is empty.*')
4310+
43054311
class Encryption(unittest.TestCase):
43064312
'''
43074313
Things to try later:
@@ -5188,7 +5194,7 @@ def test_dsa4096_key(self):
51885194
# Make sure we can add subkey
51895195
ret, out, _ = run_proc(RNPK, ['--homedir', RNPDIR2, '--password', PASSWORD, '--edit-key', 'dsa4096', '--add-subkey'], 'y\n')
51905196
self.assertEqual(ret, 0)
5191-
self.assertRegex(out, r'(?s)^.*ssb.*2048/RSA.*EXPIRES.*')
5197+
self.assertRegex(out, r'(?s)^.*ssb.*3072/RSA.*EXPIRES.*')
51925198

51935199
def test_verify_enconly_key(self):
51945200
ret, _, err = run_proc(RNP, ['--keyfile', data_path('test_messages/key-rsas-rsae.asc'), '--verify', data_path('test_messages/message-signed-rsae.txt.pgp')])

src/tests/ffi-key.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -787,6 +787,16 @@ TEST_F(rnp_tests, test_ffi_key_generate_rsa)
787787
assert_int_equal(subkeys, 0);
788788
/* cleanup */
789789
assert_rnp_success(rnp_key_handle_destroy(key));
790+
/* generate RSA keypair with default sizes */
791+
assert_rnp_success(rnp_generate_key_ex(
792+
ffi, RNP_ALGNAME_RSA, RNP_ALGNAME_RSA, 0, 0, NULL, NULL, "rsa_default", NULL, &key));
793+
assert_rnp_success(rnp_key_get_bits(key, &bits));
794+
assert_int_equal(bits, 3072);
795+
assert_rnp_success(rnp_key_get_subkey_at(key, 0, &subkey));
796+
assert_rnp_success(rnp_key_get_bits(subkey, &bits));
797+
assert_int_equal(bits, 3072);
798+
assert_rnp_success(rnp_key_handle_destroy(subkey));
799+
assert_rnp_success(rnp_key_handle_destroy(key));
790800
assert_rnp_success(rnp_ffi_destroy(ffi));
791801
}
792802

0 commit comments

Comments
 (0)