Updated the README for the 0.1 release. v0.1
authorsnej@snej.local
Thu Apr 09 22:46:48 2009 -0700 (2009-04-09)
changeset 62d7692f9b6b4
parent 5 b2e360b78189
child 7 dee779b84a95
Updated the README for the 0.1 release.
README.textile
     1.1 --- a/README.textile	Thu Apr 09 22:27:51 2009 -0700
     1.2 +++ b/README.textile	Thu Apr 09 22:46:48 2009 -0700
     1.3 @@ -23,29 +23,20 @@
     1.4  h3. Requirements
     1.5  
     1.6  * Mac OS X 10.5 or later _[has been tested on 10.5.6]_
     1.7 -* iPhone OS 2.0 or later _[not yet tested; see Limitations section below]_
     1.8 -* iPhone Simulator, for iPhone OS 2.0 or later
     1.9 +* or iPhone OS 2.0 or later _[not yet tested; see Limitations section below]_
    1.10 +* or iPhone Simulator, for iPhone OS 2.0 or later
    1.11  * The "MYUtilities":http://mooseyard.com/hg/hgwebdir.cgi/MYUtilities library, which is used by MYCrypto.
    1.12  * _Some understanding of security and cryptography on your part!_ Even with convenient APIs, cryptographic operations still require care and knowledge to be used safely. There are already too many "examples":http://en.wikipedia.org/wiki/Wired_Equivalent_Privacy#Flaws of insecure systems that were incorrectly assembled from secure primitives; don't add your app to that list. Please read a good overview like "??Practical Cryptography??":http://www.schneier.com/book-practical.html before attempting anything the least bit fancy.
    1.13  
    1.14 -h3. Current Limitations
    1.15 +h3. How To Get It
    1.16  
    1.17 -h4. First off, the biggest caveat of all:
    1.18 -
    1.19 -* *MYCrypto 0.1 is new code and has not yet been used in any real projects. Expect bugs.* (I'm talking about my wrapper/glue code. The underlying cryptographic functionality provided by the OS is robust.)
    1.20 -
    1.21 -h4. Further issues with the 0.1 release:
    1.22 -
    1.23 -* *MYCrypto does not yet work on the iPhone.* It currently builds, but runs into problems at runtime. I'm currently trying to figure these out. (The iPhone OS Security APIs are very different from the Mac OS X ones, and I'm much less familiar with them.) However, it does work in the iPhone Simulator, which uses the OS X APIs.
    1.24 -* Exporting symmetric keys in wrapped (encrypted) form will fail. Currently they can be exported only as raw key data.
    1.25 -* Importing symmetric keys, in any form, will fail ... kind of a deal-breaker for using them across two computers, unfortunately.
    1.26 -
    1.27 -h4. Current API limitations, to be remedied in the future:
    1.28 -
    1.29 -* No API for accessing passwords; fortunately there are several other utility libraries that provide this. And if your code is doing cryptographic operations, it probably needs to store the keys themselves, not passwords.
    1.30 -* No bulk data encryption/decryption using public/private keys. MYKeyPair only does raw RSA crypto, which is slow and limited to small chunks of data.
    1.31 -* No evaluation of trust in certificates (i.e. SecTrust and related APIs.)
    1.32 -* Error reporting is too limited. Most methods indicate an error by returning nil, NULL or NO, but don't provide the standard "out" NSError parameter to provide more information. Expect the API to be refactored in the near future to remedy this.
    1.33 +* "Download the current source code":http://mooseyard.com/hg/hgwebdir.cgi/MYCrypto/archive/tip.zip
    1.34 +* To check out the source code using "Mercurial":http://selenic.com/mercurial/:<br>
    1.35 +@hg clone /hg/hgwebdir.cgi/MYCrypto/ MYCrypto@
    1.36 +* As described above, you'll also need to download or check out MYUtilities and put it in a directory next to MYCrypto.
    1.37 +* Or if you're just looking:
    1.38 +** "Browse the source code":http://mooseyard.com/hg/hgwebdir.cgi/MYCrypto/file/tip
    1.39 +** "Browse the class documentation":Documentation/html/hierarchy.html
    1.40  
    1.41  h2. Overview
    1.42  
    1.43 @@ -66,6 +57,25 @@
    1.44  
    1.45  (_Italicized_ classes are abstract.)
    1.46  
    1.47 +h2. Current Limitations
    1.48 +
    1.49 +h3. First off, the biggest caveat of all:
    1.50 +
    1.51 +* *MYCrypto 0.1 is new code and has not yet been used in any real projects. Expect bugs.* (I'm talking about my wrapper/glue code. The underlying cryptographic functionality provided by the OS is robust.)
    1.52 +
    1.53 +h3. Further issues with the 0.1 release:
    1.54 +
    1.55 +* *MYCrypto does not yet work on the iPhone.* It currently builds, but runs into problems at runtime. I'm currently trying to figure these out. (The iPhone OS Security APIs are very different from the Mac OS X ones, and I'm much less familiar with them.) However, it does work in the iPhone Simulator, which uses the OS X APIs.
    1.56 +* Exporting symmetric keys in wrapped (encrypted) form will fail. Currently they can be exported only as raw key data.
    1.57 +* Importing symmetric keys, in any form, will fail ... kind of a deal-breaker for using them across two computers, unfortunately.
    1.58 +
    1.59 +h3. Current API limitations, to be remedied in the future:
    1.60 +
    1.61 +* No API for accessing passwords; fortunately there are several other utility libraries that provide this. And if your code is doing cryptographic operations, it probably needs to store the keys themselves, not passwords.
    1.62 +* No bulk data encryption/decryption using public/private keys. MYKeyPair only does raw RSA crypto, which is slow and limited to small chunks of data.
    1.63 +* No evaluation of trust in certificates (i.e. SecTrust and related APIs.)
    1.64 +* Error reporting is too limited. Most methods indicate an error by returning nil, NULL or NO, but don't provide the standard "out" NSError parameter to provide more information. Expect the API to be refactored in the near future to remedy this.
    1.65 +
    1.66  h2. References
    1.67  
    1.68  * "??Security Overview??":http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/Introduction/Introduction.html (Apple)