コード例 #1
0
ファイル: CryptRSATest.cs プロジェクト: ResGear/CryptobySharp
        public virtual void testRSACrypt1024false()
        {
            System.Console.Out.WriteLine("RSACrypt1024false");
            int            keySize   = 1024;
            CryptobyClient client    = new CryptobyClient();
            CryptobyCore   core      = new CryptobyCore(client);
            KeyGenRSA      generator = new KeyGenRSA(core);

            generator.initGenerator(keySize);
            byte[] plainInput = Encoding.UTF8.GetBytes("Text to Test for Testing from Tester by Testcase"
                                                       );
            string publicKeyString = generator.getPublicKey();

            byte[] publicKey = CryptobyHelper.hexStringToBytes(publicKeyString);
            generator.initGenerator(keySize);
            string privateKeyString = generator.getPrivateKey();

            byte[]   privateKey = CryptobyHelper.hexStringToBytes(privateKeyString);
            CryptRSA rsa        = new CryptRSA();

            byte[] expResult = plainInput;
            byte[] result    = rsa.encrypt(plainInput, publicKey);
            result = rsa.decrypt(result, privateKey);
            NUnit.Framework.Assert.IsFalse(Arrays.equals(expResult, result));
        }
コード例 #2
0
        public virtual void testPutAndGetKey()
        {
            System.Console.Out.WriteLine("Put and Get Keys");
            string         publicKeyFilePath  = "publicKey.pub";
            string         privateKeyFilePath = "privateKey.prv";
            int            keySize            = 1024;
            CryptobyClient client             = new CryptobyClient();
            CryptobyCore   core      = new CryptobyCore(client);
            KeyGenRSA      generator = new KeyGenRSA(core);

            generator.initGenerator(keySize);
            byte[] publicKeyByte  = generator.getPublicKeyByte();
            byte[] privateKeyByte = generator.getPrivateKeyByte();
            string publicKey      = generator.getPublicKey();
            string privateKey     = generator.getPrivateKey();

            try
            {
                CryptobyFileManager.putKeyToFile(publicKeyFilePath, publicKey);
            }
            catch (IOException ex)
            {
                Logger.getLogger(typeof(CryptobyFileManagerTest).FullName).log(Level.SEVERE, null
                                                                               , ex);
            }
            try
            {
                CryptobyFileManager.putKeyToFile(privateKeyFilePath, privateKey);
            }
            catch (IOException ex)
            {
                Logger.getLogger(typeof(CryptobyFileManagerTest).FullName).log(Level.SEVERE, null
                                                                               , ex);
            }
            byte[] resultPublic = null;
            try
            {
                resultPublic = CryptobyFileManager.getKeyFromFile(publicKeyFilePath);
            }
            catch (IOException ex)
            {
                Logger.getLogger(typeof(CryptobyFileManagerTest).FullName).log(Level.SEVERE, null
                                                                               , ex);
            }
            byte[] resultPrivate = null;
            try
            {
                resultPrivate = CryptobyFileManager.getKeyFromFile(privateKeyFilePath);
            }
            catch (IOException ex)
            {
                Logger.getLogger(typeof(CryptobyFileManagerTest).FullName).log(Level.SEVERE, null
                                                                               , ex);
            }
            Assert.AreEqual(publicKeyByte, resultPublic);
            Assert.AreEqual(privateKeyByte, resultPrivate);
            Assert.AreEqual(publicKey, CryptobyHelper.bytesToHexString(resultPublic
                                                                       ));
            Assert.AreEqual(privateKey, CryptobyHelper.bytesToHexString(resultPrivate
                                                                        ));
        }