Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(654)

Unified Diff: remoting/host/keygen_main.cc

Issue 2958001: Added RSA key generator for register_host.py (Closed)
Patch Set: - Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/host/keygen_main.cc
diff --git a/remoting/host/keygen_main.cc b/remoting/host/keygen_main.cc
new file mode 100644
index 0000000000000000000000000000000000000000..6eaf898dc43906fc2cdbe35eb13e3f2a13c3b628
--- /dev/null
+++ b/remoting/host/keygen_main.cc
@@ -0,0 +1,36 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// This is a tool used by register_host.py to generate RSA keypair. It just
awong 2010/07/14 19:36:32 ...doesn't python have a rsa key generator?
Sergey Ulanov 2010/07/14 19:56:55 It does, but only in 2.6, i.e. it wouldn't work on
+// generates new keys and prints them on stdout.
+//
+// This code will need to be integrated with the host registration UI.
+
+#include <vector>
+#include <cstdio>
awong 2010/07/14 19:36:32 stdio.h is more common. Also C includes go before
Sergey Ulanov 2010/07/14 19:56:55 Done.
+
+#include "base/at_exit.h"
+#include "base/base64.h"
+#include "base/crypto/rsa_private_key.h"
+#include "base/scoped_ptr.h"
+
+int main(int argc, char** argv) {
+ base::AtExitManager exit_manager;
+
+ scoped_ptr<base::RSAPrivateKey> key(base::RSAPrivateKey::Create(2048));
+
+ std::vector<uint8> private_key_buf;
+ key->ExportPrivateKey(&private_key_buf);
+ std::string private_key_str(private_key_buf.begin(), private_key_buf.end());
+ std::string private_key_base64;
+ base::Base64Encode(private_key_str, &private_key_base64);
+ printf("%s\n", private_key_base64.c_str());
+
+ std::vector<uint8> public_key_buf;
+ key->ExportPublicKey(&public_key_buf);
+ std::string public_key_str(public_key_buf.begin(), public_key_buf.end());
+ std::string public_key_base64;
+ base::Base64Encode(public_key_str, &public_key_base64);
+ printf("%s\n", public_key_base64.c_str());
+}

Powered by Google App Engine
This is Rietveld 408576698