From 02749d1d5e3e39bb04af296da4f9f6a14d4107d6 Mon Sep 17 00:00:00 2001
From: Gibheer <gibheer@gmail.com>
Date: Sun, 15 Feb 2015 21:09:22 +0100
Subject: 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
-- 
cgit v1.2.3-70-g09d2