コード例 #1
0
ファイル: KeyRecovery.cs プロジェクト: RoDaniel/featurehouse
 static void Main(string[] args)
 {
     string certname = "";
     string pass = "";
     KeyRecovery prg = new KeyRecovery(args);
     prg.OTP.OnOptionEntered = new Option.OptionEnteredHandler(prg.OnOTP);
     prg.ParseArguments();
     certname = Path.GetFullPath(prg.keyPath.Value);
     pass = prg.pvkPass.Value;
     X509Certificate2 xcert;
     try
     {
         if (pass.Length > 0)
             xcert = new X509Certificate2(certname, pass);
         else
             throw new ArgumentNullException("pass");
         prg.rsadec = xcert.PrivateKey as RSACryptoServiceProvider;
         prg.ProcessInputKeyFile();
     }
     catch (Exception exp)
     {
         if(pass == null)
             Console.WriteLine("Private Key Password Null Exception ");
         else
             Console.WriteLine("Exception {0}", exp.Message);
     }
 }
コード例 #2
0
ファイル: KeyRecovery.cs プロジェクト: lulzzz/ifolder
        /// <summary>
        /// Main Function
        /// </summary>
        /// <param name="args">Command line arguments</param>
        static void Main(string[] args)
        {
            string      certname = "";
            string      pass     = "";
            KeyRecovery prg      = new KeyRecovery(args);

            prg.OTP.OnOptionEntered = new Option.OptionEnteredHandler(prg.OnOTP);
            prg.ParseArguments();
            pass = prg.pvkPass.Value;
            X509Certificate2 xcert;

            try{
                certname = Path.GetFullPath(prg.keyPath.Value);

                if (pass.Length > 0)
                {
                    xcert = new X509Certificate2(certname, pass);
                }
                else
                {
                    throw new ArgumentNullException("pass");
                }
                prg.rsadec = xcert.PrivateKey as RSACryptoServiceProvider;
#if DBUG
                string          locmess = "Welcome to iFolder 3.6";
                string          locCert = "e:/Data/ifolder/arul_1024_2.der";
                string          encmess;
                byte []         expo = { 1, 0, 1 };
                byte[]          pubke;
                byte[]          p12pubkey;
                RSAParameters   rsa     = new RSAParameters();
                X509Certificate enccert = X509Certificate.CreateFromCertFile(locCert);
                //X509Certificate2 enccert = new X509Certificate2(locCert);
                RSAParameters rsaprv = prg.rsadec.ExportParameters(false);
                //prg.rsaenc = enccert.PublicKey.Key as RSACryptoServiceProvider;
                //RSAParameters rsapub = prg.rsaenc.ExportParameters(false);

                pubke       = enccert.GetPublicKey();
                p12pubkey   = xcert.GetPublicKey();
                rsa.Modulus = new byte[128];
                Array.Copy(pubke, 7, rsa.Modulus, 0, 128);
                rsa.Exponent = expo;
                prg.rsaenc   = new RSACryptoServiceProvider();
                prg.rsaenc.ImportParameters(rsa);

                Console.WriteLine("Public Key String: {0}", Convert.ToBase64String(xcert.GetPublicKey()));
                Console.WriteLine("Public Key String: {0}", Convert.ToBase64String(enccert.GetPublicKey()));
                //Console.WriteLine("Public Key String: {0}", enccert.ToString(true));
                //Console.WriteLine("Public Key String: {0}", xcert.ToString(true));
                Console.WriteLine("Public Key String Stripped: {0}", Convert.ToBase64String(rsa.Modulus));
                Console.WriteLine("Public Key String2 Stripped: {0}", Convert.ToBase64String(rsaprv.Modulus));
                Console.WriteLine("Enc mess {0}:", encmess = Convert.ToBase64String(prg.rsaenc.Encrypt(Encoding.UTF8.GetBytes(locmess), false)));
                Console.WriteLine("Denc mess {0}:", Encoding.UTF8.GetString(prg.rsadec.Decrypt(Convert.FromBase64String(encmess), false)));
#endif //DBG
                prg.ProcessInputKeyFile();
            }
            catch (Exception exp)
            {
                if (pass == null)
                {
                    Console.WriteLine("Private Key Password cannot be null. Try again. ");
                }
                else
                {
                    Console.WriteLine("Error while processing certificate. Try again");
                }
                Console.WriteLine(exp.Message);
            }
        }