|
Hi
I have an application that uses a 3rd party API that saves a fingerprint image to file,I cannot retrieve the image in any way to a image object in the programming code so I need to save it to disk before i can load it into an Image object to convert the minutiae template between different vendor types. Now due to information law I need to protect that saved fingerprint image, even for the split second it is on the drive before i delete it
So I need to know is there a way I can either
Create a folder, storage space I can save to that only my Assembly can access.
or
Create a virtual drive that encrypts data that gets written into it.
or
Create a folder that requires a password to access it (which I can parse through my program).
Primarily i am using C# to code this application but any C++ console wrapped app that can be of use to me would also help.
Any advice or help will be appreciated.
Hitting my head against the wall on this one
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
Chona1171 wrote: I cannot retrieve the image in any way to a image object in the programming code so I need to save it to disk before i can load it into an Image object to convert the minutiae template between different vendor types.
How does the API return the image?
Chona1171 wrote: So I need to know is there a way I can eitherCreate a folder, storage space I can save to that only my Assembly can access.orCreate a virtual drive that encrypts data that gets written into it.orCreate a folder that requires a password to access it (which I can parse through my program).
SqlCe or SqlExpress, using a blob-field. Or use the encryption-routines that come with .NET.
I are Troll
|
|
|
|
|
Eddy Vluggen wrote: SqlCe or SqlExpress, using a blob-field. Or use the encryption-routines that come with .NET.
It's a 3rd party API, right? If it offered support for those things, surely the OP would have thought of them..
|
|
|
|
|
harold aptroot wrote: surely the OP would have thought of them..
Assumptions, my dear Watson
..I don't expect that the API will save directly to a blob, I'd expect one to get an array of bytes. And yes, those could be securely stored in a blob.
I are Troll
|
|
|
|
|
If you get an array then there is no problem, he could just make the image of that without going through disc, so it can't be that either
btw, I'm just assuming "OP is not an idiot" - I'm sure he will correct me if I'm wrong..
|
|
|
|
|
harold aptroot wrote: he could just make the image of that without going through disc
Yup. Hence the question how the 3d party library supplies the image. If it's in memory, then it can be encrypted, but that doesn't guarantee it not being written to disc.
A SecureString for bitmaps?
I are Troll
|
|
|
|
|
What if he disables the pagefile?
|
|
|
|
|
Guess that'd be safer. It would be a major handicap for a fingerprintingdevice if you couldn't use it on a system that uses virtual memory though. Nah, it's prolly just an array of bytes in memory that need be transformed to a bitmap, with the restriction of not using temporary files.
Must be a good time to get some sleep
I are Troll
|
|
|
|
|
Thats exactly it you do not get an array of bytes. the only image Method available on the entire API is Save
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
the only way it returns an image is a save command with only 1 overload allowing me to save the file to a path.
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
An encrypted volume (think TrueCrypt) would be overkill, but I can't think of any alternatives.
I are Troll
|
|
|
|
|
Something that may help you is the Namespace System.IO.IsolatedStorage, for example IsolatedStorageFile-Class. Sorry, no time to do some tests but read this[^] to get an idea.
|
|
|
|
|
Isolated storage requires me to have the image allready loaded to an object and then to convert it to a byte array.
My main problem is that the 3rd party API only allows me to get the image by storing it in a directory.
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
What exactly does the law require?
|
|
|
|
|
The law requires any and all personal information of an employee that gets saved to disk (id numbers, details ect) needs to be encrypted, or protected In Europe the law currently states that it includes fingerprints, and soon it will be law here in SA.
Now my problem is when the image gets saved to the disk it gets saved as a clear image hence the fact that i need to save it somewhere where no one via the windows shell or dos can get a hold of it even for that split second before it gets pulled back up in memory(Using the Image object i need) and deleted from disk
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
What are the limits of this "save" function? Can it save to a named pipe?
|
|
|
|
|
No only 1 save and its save to directory.
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
What happens if you put in a path to a named pipe anyway? Crash?
|
|
|
|
|
To be honest i haven't tried it but i will give it a go , I read an article about ti and it looks very interesting.
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
if you have the image as a byte array, there are at least two Bitmap constructors that might help you:
1.
one takes a stream, any stream, so store the bytes in a MemoryStream and take it from there (don't forget to "rewind" your stream, i.e. position it at zero after writing it)
2.
another takes an IntPtr to the raw data. This needs unsafe code, and/or fixed, and/or GCHandle.
|
|
|
|
|
Thank you for all your help
I was able to retrieve the raw data, though i had trouble could not use a memory stream to write it into an image field i had to take the image loop through the byte array which will be the same length as the width and height of the acquired image maye a 2D loop and take the byte array and read it back as a color onto a bitmap .
That solved my problem
Though thanks for all the posts and all the help, the Truecrypt example will be usefull to me in other application i am developing and the named pipes solution is also one i will consider.
Thanx to all
Chona1171
Web Developer (C#), Silverlight
|
|
|
|
|
hello,
I build a scanner that takes all drive's with DriveInfo .
how i Discerning between drive from card reader and drive from usb ??
thanks....
|
|
|
|
|
|
Hi,
I have few dataGridViews and one ContextMenuStrip that is connected to all of the Grids.
At my function i'm trying to understand on witch grid the user pressed,
if i'm using the "sender" from the event i get the text from the line of the menustrip.
(if i check sender as DataGridView i get null).
How i can get the sender?
Can someone please advise?
|
|
|
|
|
Which event(s) are you handling?
Did you know:
That by counting the rings on a tree trunk, you can tell how many other trees it has slept with.
|
|
|
|