Download
makekeys-1.1.0.zip (info) a zipped hfs disk image and checksum file. The disk image can be mounted with Mini vMac. Includes source code.
MakeKeys is a tool to make secret and public key pairs for use in writing and verifying digital signatures, such as with the SigWrite and SigCheck tools.
To use MakeKeys, launch the application, and in the editing window that appears, paste in some truly random (not psuedo-random) hexadecimal data, which can be generated with MakeRand. For example:
42D8A22109876964FEA9CF70F6DDDC54 D0DBA11B7066D7249369E381872CB523 2E55796E50ACFFE979D43196F041B660 DEB1A6139AFBCD333CE4282CDDE043FF CD84A6A9307AF6B6EC2ED05D1238D3E6 C30F03EF59E75009CB67CB5D43177831 BE31F973FF8DDA36E1F0AC42AC1C0994 899CBC583E7AA20EC72BBEFEC06BBC84
Copy all of the indented text above. Then paste it into MakeKeys, which requires getting the clipboard into the emulated Macintosh, if MakeKeys is run inside Mini vMac. You can get text into the emulated Macintosh using the “Host Paste” command in the Edit Menu of MakeKeys. It is like the “Paste” command, except that it uses the clipboard of the real computer instead of the clipboard of the emulated computer. The keyboard shortcut is Command-Option-V. (The “Host Paste” command has similar effect to using ClipIn and then the normal “Paste” command.)
MakeKeys only uses multiples of 128 bits, which equals 32 hexadecimal digits, as on the lines above. Any excess digits are discarded. The above 8 lines add up to 1024 bits.
Before continuing, it would be a good idea to set Mini vMac to All Out speed. Then, on a modern computer, MakeKeys should take less than 5 minutes to run (for a 1024 bit key, as in this example). At 1x speed, or on a real Macintosh Plus, it takes much longer. (Up to a day.) The code of MakeKeys is intended to be simple to understand and maintain, as opposed to fast.
Now, click on the status bar, at the bottom of the window below the editing area. (Choosing the ‘Go’ command from the File menu, of the emulated Macintosh, will also work.)
After a long while, if all is well, the edit area is replaced with a new secret key:
----- BEGIN GRY SECRET KEY ----- Gry+SKAIAAA/AXuKqWsF8Rh5Ie4/vORBnTxYf8FPpRl/n6hpgDgfJ5MAOsAEyePE nSfjmL3I9emNTuW/iCIHlCl/WkaWyMQZ+NDb1ZsnSLyOKwOycVkR3JwJbUamM4wy jUuoWV6jzuhqWZobpGPMSN4B3ivHXtcNVm5SVmnAL13T4FCLnx+TxaYRAQAB9n9N yEapaUzZs3Pdv2zNzs77wWHev2/i0qAIFxBLWI5VvPd6NuXEefADAtAJHhzm9koz gWrLZ9pVF+D537ewv3/mZJPGS0u7Ino5F3AQ20NhDvX3JwovUSgUkmy59PbJgZ2M 0zNCvKuephFJbT4Pgi2oc7ZT/qZagkNNDErbyLb7NvBAU6+Ezbb2ejBd0C7s5tM4 Eu8DD8MJUOdZXctnyzF4F0Nz+TG+NtqN/0Ks8OGUCRysWLyciQ6iej7+vivHhLxr wPBA26XYQmRphwlwz6n+VNzd9huh29Ak12ZwgeNpkyO1LIdueVUu6f+sUJYx1Hlg tkHwE6ax3jPN+5osKOQ8/0Pg3fY/8CwOIpqLB6QDLCtY2ZrfM69mWkw/QTyGNSDU FIkI5corJbgms5mGMGQ2CyEZZ3RjzDtP5YwVAdzd4oNdKLHsK+k4nA== ------ END GRY SECRET KEY ------
The above secret key is only an example. Normally, a secret key should never be given to anyone else. The random hexadecimal data used to create the secret key should of course also be kept secret.
Again, click on the status bar. The edit area is then replaced with the corresponding public key:
----- BEGIN GRY PUBLIC KEY ----- Gry+PKAIAAA/AXuKqWsF8Rh5Ie4/vORBnTxYf8FPpRl/n6hpgDgfJ5MAOsAEyePE nSfjmL3I9emNTuW/iCIHlCl/WkaWyMQZ+NDb1ZsnSLyOKwOycVkR3JwJbUamM4wy jUuoWV6jzuhqWZobpGPMSN4B3ivHXtcNVm5SVmnAL13T4FCLnx+TxaYRAQABwA54 ------ END GRY PUBLIC KEY ------
When MakeKeys is run inside Mini vMac, you can get text out of the emulated Macintosh using the “Host Copy” command in the Edit Menu. It is like the “Copy” command, except that it uses the clipboard of the real computer instead of the clipboard of the emulated computer. The keyboard shortcut is Command-Option-C. (The “Host Copy” command has similar effect to using the normal “Copy” command and then ClipOut.)
MakeKeys is in part descended from MacPGP source code, which, as far as I can tell, allows derived works for noncommercial use.
MacPGP has various code to try to protect secrets from other software running on the computer. MakeKeys does not, instead you should try to secure the entire virtual machine that it is run in. Such as by putting the Mini vMac disk image on an encrypted volume of the host computer, for a start.
MkKeysTl is a command line version of MakeKeys.
MakeKeys is a successor to PMakKeys, which uses a different format that is more or less compatible with MacPGP.
See the Compiling page for instructions on compiling MakeKeys from the source code.
:
If you find MakeKeys useful, please consider helping the Gryphel Project, of which it is a part.