Example #1
0
//
//         public static EncryptedBytes encrypt(byte[] Key, byte[] IV, string plainText, Encoding? encoding)
//         {
//             if (encoding == null) encoding = StaticHandler.encoding;
//
//             // Check arguments.
//             if (plainText == null || plainText.Length <= 0)
//                 throw new ArgumentNullException("plainText");
//             if (Key == null || Key.Length <= 0)
//                 throw new ArgumentNullException("Key");
//             if (IV == null || IV.Length <= 0)
//                 throw new ArgumentNullException("IV");
//
//
//             byte[] encrypted;
//             byte[] keyParams = IV;
//             // Create an RijndaelManaged object
//             // with the specified key and IV.
//             using (RijndaelManaged rijAlg = new RijndaelManaged())
//             {
//                 rijAlg.Key = Key;
//                 rijAlg.IV = IV;
//
//                 // Create a decryptor to perform the stream transform.
//                 ICryptoTransform encryptor = rijAlg.CreateEncryptor(rijAlg.Key, rijAlg.IV);
//
//
//
//                 // Create the streams used for encryption.
//                 using (MemoryStream msEncrypt = new MemoryStream())
//                 {
//                     using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
//                     {
//                         using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
//                         {
//
//                             //Write all data to the stream.
//                             swEncrypt.Write(plainText);
//                         }
//                         encrypted = msEncrypt.ToArray();
//                     }
//                 }
//             }
//
//
//             EncryptedBytes encryptedBytes = new EncryptedBytes(encrypted, keyParams, "AES");
//
//             // Return the encrypted bytes from the memory stream.
//             return encryptedBytes;
//
//             /* var buffer = encoding.GetBytes(str);
//
//              byte[] result;
//
//              var encryptor = aes.CreateEncryptor(aes.Key, aes.IV)
//              using (var resultStream = new MemoryStream())
//              {
//                  using (var aesStream = new CryptoStream(resultStream, encryptor, CryptoStreamMode.Write))
//                  using (var plainStream = new MemoryStream(buffer))
//                  {
//                      plainStream.CopyTo(aesStream);
//                  }
//
//                  result = resultStream.ToArray();
//              }*/
//
//
//         }

        public static EncryptedBytes encrypt(AesCryptoServiceProvider aesCryptoServiceProvider, string plainText,
                                             Encoding encoding)
        {
            if (encoding == null)
            {
                encoding = StaticHandler.encoding;
            }

            // Check arguments.
            if (plainText == null || plainText.Length <= 0)
            {
                throw new ArgumentNullException("plainText");
            }
            if (aesCryptoServiceProvider.Key == null || aesCryptoServiceProvider.Key.Length <= 0)
            {
                throw new ArgumentNullException("Key");
            }
            if (aesCryptoServiceProvider.IV == null || aesCryptoServiceProvider.IV.Length <= 0)
            {
                throw new ArgumentNullException("IV");
            }


            ICryptoTransform transform = aesCryptoServiceProvider.CreateEncryptor();

            var encodedText   = encoding.GetBytes(plainText);
            var encryptedText =
                transform.TransformFinalBlock(encodedText, 0, encodedText.Length).Select(Convert.ToSByte);

            var derOctetString = new DerOctetString(aesCryptoServiceProvider.IV);


            return(new EncryptedBytes(encryptedText, derOctetString.GetEncoded().Select(Convert.ToSByte), "AES"));
        }
        static PdfName getOcspHashKey(byte[] basicResponseBytes)
        {
            BasicOcspResponse basicResponse = BasicOcspResponse.GetInstance(Asn1Sequence.GetInstance(basicResponseBytes));

            byte[]         signatureBytes = basicResponse.Signature.GetBytes();
            DerOctetString octetString    = new DerOctetString(signatureBytes);

            byte[]  octetBytes = octetString.GetEncoded();
            byte[]  octetHash  = hashBytesSha1(octetBytes);
            PdfName octetName  = new PdfName(Utilities.ConvertToHex(octetHash));

            return(octetName);
        }
        //
        // VRI signature hash key calculation
        //
        static PdfName getCrlHashKey(byte[] crlBytes)
        {
            X509Crl crl = new X509Crl(CertificateList.GetInstance(crlBytes));

            byte[]         signatureBytes = crl.GetSignature();
            DerOctetString octetString    = new DerOctetString(signatureBytes);

            byte[]  octetBytes = octetString.GetEncoded();
            byte[]  octetHash  = hashBytesSha1(octetBytes);
            PdfName octetName  = new PdfName(Utilities.ConvertToHex(octetHash));

            return(octetName);
        }