Was given a GnuPG v1.4.5 public key file. Is there a simple dummy proof tool that can encrypt files on OSX? - public-key-encryption

I almost had to deal with PGP encryption before and all I remember was that it confused the heck out of me. Today, a client threw a curveball at us telling us we have to encrypt our CSV files before passing them over through FTP. They sent us a public key. Unfortunately, we will have fairly non-tech savvy people handling the CSV files and encrypting them and last time I remember there was quite a bit of command lining I had to do and initial setup of stuff in keychain or something. Is there a simple tool that I can walk the CSV managers through to set up their system and use a nice GUI tool to encrypt the file? Or do we have to do a crazy manual command line setup? I work remotely from the CSV managers so it isn't easy for me to figure it out on my system first and then try to mirror what I did here on their system. The managers are all running at least OSX Snow Leopard and I am on Lion
Thanks!

GPGMail is pretty easy to use, although not easy to setup. Unfortunately it doesn't work in Mountain Lion yet.
Do you have to use public/private key encryption? If they're okay with shared key encryption, creating AES-encrypted disk images is fairly easy under OS X: http://blog.makezine.com/2007/03/18/how-to-create-an-encrypted-dis/

GPG Tools is also very straight foreward - here is a super article about it: https://www.deepdotweb.com/2015/02/20/pgp-tutorial-os-x/ or directly the GPG Tools Help Page
Any File can then be encrypted just using the mac os x right click menu.
It is quite easy, but you will not be able to avoid a bit of setup.

Related

Get hardware id with inno setup script to prevent piracy

I just finished my program, now I want to build a setup with Inno-setup that gets the hardware id and and stores it into a file in the CD so that the program can be installed in only one computer with only one license. Unfortunately i am not good at all at Inno-setup scripting language. Anything you guys can do to help me will do, anything, even small hints,
Please help i am out of options right now.
I want to build a setup with Innosetup that gets the hardware id and and stores it into a file in the CD so that the program can be installed in only one computer with only one license.
You want to create a unique Installer and CD for every client?
Wow, that's a lot of work. It only makes sense for a really small business.
Anyway, in regard to getting a hardware-id:
There is no function in InnoSetup to get a "hardware id".
You probably mean some kind of identifier, like a hard-disk or motherboard serial number, right? You could decide to fetch some serial numbers or identifiers by querying the WMI.
But wait? You compile Innosetup on the developer machine, right?
The only hardware-ids you could possibly get at that time are IDs from your own developer machine. How do you get the hardware-id of your client, which is later trying to install your software from CD?
The whole approach doesn't make much sense and is flawed.
In general, doing this kind of protection in the installer is kind of useless.
Please handle your protection in the application, not in the setup.
You might use one of the following approaches: "API-Key" or "license-code" or "license file" or "hardware-dongle".
In other words: its always the same installer on multiple CDs, but the additional separate license code makes the difference - not during, but after the installation. The user simply enters the key or loads the license-file into the application and gets "Application registered to XY".

Mac OS X Disk Image Verification

Does anyone knows what exactly happens behind the scenes when Mac OS X verifies a disk image (.dmg) file? Is there any way to extend or customize the procedure?
EDIT: I would like to create a disk image that verifies that it does exactly what it should do and nothing more. For example, if I distribute some software that manages passwords, a malicious user could modify my package to send the passwords to an unwarranted third party. To the end user, the functionality would appear to be identical to my program, and they would never know the package was sabotaged. I would like to perform this verification at mount time.
To my knowledge, you cannot modify this procedure (unless you do some system hacks which I don't recommend). I believe it compares it with the internal checksum and makes sure that the disk's volume header is OK. It goes through all of the files to see if any of them are corrupted.
My understanding of dmg's is limited but as I understand it's essentially an osx specific archive format, similar to zips. One option would be to also distribute the checksum of your dmg. This isn't very useful as if an attacker can change the dmg a user downloads from your site they can also modify the checksum.
The functionality I believe you're looking for is codesigning. It's a cryptographic verification that an app hasn't been modified since it was signed by the author. There's a bit of a barrier to using this as you need a developer certificate from the apple developer program.
Apple's documentation on codesigning can be found here:
https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html#//apple_ref/doc/uid/TP40005929-CH4-SW5

How to record Mail GUI actions on Mac using AppleScript Editor

I'm a newbie to Mac and trying to use AppleScript to ease my daily job. One of the things I want to achieve is to automatically create Smart Mailbox based on the groups in my Address Book. While I have no problem automate Address Book, there's no much article about how to automatically create Smart Mailbox. After some searches on the web I realized it can only be done through GUI scripting. But most of the answers are about how to bring up the new Smart Mailbox dialog but no further information about e.g. how to select different rules. I tried to use AppleScript Editor to record my activity so that I can learn from that but found out after recording, there's nothing get recorded! I tried with other apps like Finder the recording does work! If anyone knows how to record it, or how to get more information on this type of GUI scripting would be very appreciated!
Unfortunately Mail's Applescript support is more than a little maddening at times due to being so limited. Control of smart mailboxes is but one example. I'd hoped SL would have fixed this but Apple's thinking about Applescript can be pretty schizophrenic at times. I'm not sure they have decided what to do with it.
I'd got a Smart Mailbox creation script working but it never worked reliably so I never deployed it. If you really want it I can give you the code - although it's written in Python + Appscript rather than pure Applescript.
Were I you I'd submit this as a bug to Apple and hopefully it'll be fixed with Lion.
The problem with GUI scripting as I'm sure you discovered is that figuring out how to get the name of each particular element can be maddening. There are a few utilities out there that will help, but unless you are doing a lot of GUI scripting they probably aren't worth the cost.
Regarding Applescript recording this was a really nice feature often supported under the old MacOS. However with the switch to OSX almost no application supports it so it's basically a dead feature for all practical intents.

Protecting Ruby Code

I'm developing a commercial project on an ARM based embedded board with a custom Linux kernel on it, using Ruby. Target workspace of the project and the device is a closed-environment, no ethernet, inernet, I/O devices etc... I want to protect my code/program so that; it'll only work on the specific machines I let (so; people cant just copy and paste my code/program on to their embedded boards and run it w/o permission). This can probably done with the machine's MAC address tho; I don't have any experience on the subject. I guess, just a simple if(device.MACAddr == "XX:XX....XX") wouldn't be depandable (not to mention people can just easily delete the check from my code). I can't use some ruby obfuscators, which I found thru google, beacuse; the device doesnt run ruby-external-C-libraries or such stuff, only pure ruby code.
So; what are your suggestions, what type of approach should I take?
you can't really protect it, its hard enough protecting native code! and even then that basically fails if someone really wants to copy the software.
basically do very little if anything to secure it, its mostly wasted time and effort
This is isomorphic to the problem of DRM. You're giving a person both a lock and the key to that lock, and trying to stop that person from using the key in a way you don't like.
Therefore, I suggest using the same methods that other DRM users do: put your terms in the license, and sue them if they violate it. You need to use the law to enforce the other terms of the license, anyway.

Is it possible to create autorun hybrid CD/DVD on Max OSX Tiger/Leopard?

Excuse me for not quite a programming question, but I need to burn a disc that would be autoplayed both on Windows and OSX. I read somewhere, that OSX disables autoplay feature by default (?) regarding to some security issues or wtf. However, posting the problem here in hope Stackoverflow knows how to hack / enable it.
And yes, I know that:
For Windows, we can setup Autorun to automatically launch the app and, for Mac, we can use special folder formatting to make it clear what the user should do.
Source
BTW, the content to be played is MM Flash.
You can't enable it. The feature isn't disabled — it isn't there at all. The only way to do it would be to have a program already on the computer to respond to the disk insertion, but that's a chicken-and-egg problem, isn't it?
This looks as if it may be of help to you: Creating a multiplatform autorun CD
UPDATE: After reading it seems that a Mac OS 9 tool was required, which isn't much use nowadays

Resources