With taxes approaching , I started revisiting the old question of how to securely transfer files between Mac and Windows.
My first thought was using zip and openSSL, but that requires the Windows user to have openSSL installed and use the command line. Maybe an encrypted zip, but I couldn’t figure out what encryption options the Mac command line supports and the Windows user needs WinZip to decrypt. I like 7zip and it works well for Windows and p7zip works well for Linux, but Mac distributions for p7zip don’t seem to be maintained for Mac. I decided to take things into my own hands. It turned out to be simpler than I expected.
- Install the Xcode (available through the Mac App Store) and the Xcode Command Line Tools
- Download the full p7zip source from sourceforge
- Extract the 7zip source
- Open Terminal, navigate to the extracted files
- Run make
- As an administrative user, copy <extracted files>/bin/7za to /usr/local/bin
- As an administrative user, copy <extracted files>/man1/7za.1 to /usr/local/share/man/man1/
- Run chmod +r 7za.1 (for some reason only the owner had read access)
You can download the binary I created at 7za-9.20.tar.gz. Extract this file using tar xzf 7za-9.20.tar.gz and then follow steps 6-9 above. The SHA1 hash of the tar.gz archive is 910eb7f91056ac66009373a542a45c1b1b82094d. The SHA1 hash of the 7za executable is e7b0b37be87354c7188401ea46dc65c6611647b5. The signature for the tar.gz archive is 7za-9.20.tar.gz.sig.
Note: On my older MacBook that has undergone a number of OS upgrades, /usr/local/share/ did not exist. Putting the man file in /usr/local/man/man1/ did not work. I had to create /usr/local/share/man/man1/.