// // 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); }