From 02749d1d5e3e39bb04af296da4f9f6a14d4107d6 Mon Sep 17 00:00:00 2001 From: Gibheer Date: Sun, 15 Feb 2015 21:09:22 +0100 Subject: [PATCH] make rsa check boundary --- flags.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/flags.go b/flags.go index d7dc2ef..346486c 100644 --- a/flags.go +++ b/flags.go @@ -161,7 +161,13 @@ func (f *Flags) parsePrivateKeyGenerationFlags() error { case 521: f.Flags.PrivateKeyGenerationFlags.Curve = elliptic.P521() default: return fmt.Errorf("Curve %d unknown!", f.flag_container.length) } - case "rsa": f.Flags.PrivateKeyGenerationFlags.Size = f.flag_container.length + case "rsa": + size := f.flag_container.length + if RsaLowerLength <= size && size <= RsaUpperLength { + f.Flags.PrivateKeyGenerationFlags.Size = size + } else { + return fmt.Errorf("Length of %d is not allowed for rsa!", size) + } default: return fmt.Errorf("Type %s is unknown!", pk_type) } return nil