Hi, I was just wondering if anybody new of a way to store an encrypted file to an sql server database through a stored procedure. I have managed to encrypt a file selected from a FileUpload control but at the minute the encrypted file and the key are created and saved locally to the machine.
What I would like to be able to achieve is: under the one submit button have the file encrypted and then store the encrypted file and key to the database or force user A to browse for these files before submitting.
However, on execution I am getting an error stating that Input string was not in correct format and it is bugging out at the following line:
submitCommand.ExecuteReader();
Below is a section of the code that I am using to try to save the encrypted file and key to the database (as varbinary)
byte[] blobEcryptedFile = FileUpload_EncryptedFile.FileBytes;
blobFile = blobEcryptedFile;
byte[] blobPKey = FileUpload_Key.FileBytes;
blobKey = blobPKey;
//Actual filename of the file
string filename = FileUpload_submitAss.FileName;
submitCommand.Parameters.Add(new SqlParameter("@assignment", SqlDbType.VarBinary, blobFile.Length, ParameterDirection.Input, false, 0, 0, "Assignment", DataRowVersion.Current, blobFile));
submitCommand.Parameters["@assignment"].Value = blobFile; //The path to the encrypted file
submitCommand.Parameters.Add(new SqlParameter("@filename", SqlDbType.NVarChar, 50, "Filename"));
submitCommand.Parameters["@filename"].Value = filename;
submitCommand.Parameters.Add(new SqlParameter("@publicKey", SqlDbType.VarBinary, blobKey.Length, ParameterDirection.Input, false, 0, 0, "pKey", DataRowVersion.Current, blobKey));
submitCommand.Parameters["@publicKey"].Value = blobKey; //The path to the key
submitCommand.ExecuteReader();
submitCommand.Dispose();
myConnection.Close();
lbl_validation_submitAssignment.Text = "Your file has successfully been uploaded!";
Has anybody any ideas??