First alpha 5 public release is coming!

Hello people!

We are pleased to announce that Alpha 5 release of OSXCrypt will be published on Friday 25th of January 2007!

Alpha release 1.0.0a4 is being tested and bugfixed, if you want to test it please write us or be clever! ;) Otherwise wait for the Alpha 5 on Friday 25th January 2007!

OSXCrypt already fully support TrueCrypt-compatible volumes so we can finally use the same encrypted volume on Windows, Linux and Mac OS X!

The OSXCrypt package include an automatic graphical installer even if it still has a command line interface.

Maybe other funding could useful for developing a User Interface, port other encryption framework and introduce utilities like self-update, keychain integration and whatever other useful feature we can think about it!

Sources will be released after some cleanup prepared for the Beta release.

Alpha5 introduce Truecrypt-compatible hidden volume support feature. The only limitation will be the Password Change support that will be introduced in Alpha6. After Alpha6 we will have the Beta along with source code cleanup.

Below the Release notes of OSXCrypt 1.0.0a4:

This release notes applies to: OSXCrypt 1.0.0a4

NOTE! This is preliminary release note for OSXCrypt (stage: alpha).

Introduction

OSXCrypt is a framework, a kernel extension and a command line utility that allows the creation, manipulation and attaching of a TrueCrypt -compatible volume, and in the near future, any kind of disk-based encryption available through a modular architecture.

This product makes use of TrueCrypt, the sources are synced to version 4.3a, read the end of this document to know more about legal notices.

NOTE! This product is alpha-quality, it may destroy the contents of your hard disks! Although OSXCrypt should be able to work with physical devices (either partitions or whole disks) it has never been tested throughly, if you are concerned, for the time being, we strongly suggest you to use only file-based disk images.

Table of contents

  1. How do install it?
  2. Where is it?
  3. How to run it? 3.1. Example Usage
  4. Bugs, caveats and missing features.
  5. Uninstalling
  6. How do I report a bug?
  7. Developer Section
  8. Bug fixes
  9. Legal Notices

1. How do install it?

First, the requirements:

Simply double-click on the installer package and follows the usual installation steps.

NOTE! Once installed, the kernel service will be loaded at boot time. NOTE! Versions prior MacOS X.5.0 requires a reboot after installation. NOTE! If you have a previously version installed, you need to reboot.

2. Where is it?

OSXCrypt comes with 3 packages:

3. How I run it?

As a first thing, you should check the kernel extensions and ensure the OSXCrypt Service has been correctly started, you can do that following these steps:

You should read something like:

130 0 0×34951000 0×42000 0×41000 org.osxcrypt.kext.OSXCryptService (1.0.0) <22 12>

This means the module is ready for servicing, you can also check the kernel messages (hint: sudo dmesg) to eventually check other messages from the kernel service.

3.1. Example Usage

NOTE! At this time you can’t protect hidden nor mount hidden volumes; note the same options of ‘create’ verb applies to attach, so when hidden volume attaching will be finished, the options will be the same; the only difference is that you can specify -protect_hidden to mount outer volume protecting its hidden volume, or -hidden to mount the hidden volume. A current limitation is that you can’t mount them at the same time, it may be corrected in future releases.

4. Bugs, caveats and missing features.

5. Uninstalling

Perform the following steps:

6. How do I report a bug?

This is subject to changes, read this file at every upgrade or consult the website at http://www.osxcrypt.org/.

Thank you The OSXCrypt Team

If you’re not a developer you can stop reading here.


7. Developer Section

Summary

The OSXCrypt source tree is divided in 4 directories and 5 subprojects, building steps are given in the next section.

Build instructions

1. Load OSXCrypt.xcodeproj into Xcode. 2. Choose to build the project in Debug mode. 3. Make TCLibraryKernel the current target. 4. Build.

  1. Open Terminal.app
  2. Enter /Driver/
  3. Run ./build.sh

Alternatively, you can use Xcode but you’ll have to apply permissions on the produced files yourself:

  1. Load Driver/OSXCryptService.xcodeproj into Xcode.
  2. Choose to build the project in Debug mode.
  3. Build
  4. Fix permissions

NOTE! This is a bit messy operation due to the circular-dependencies between TCrypt and OSXCrypt, this is until TCrypt is moved out into a plugin.

  1. Load OSXCrypt.xcodeproj into Xcode.
  2. Choose to build the project in Debug mode.
  3. Make OSXCrypt.framework the current target.
  4. Build, it will give you a link error.
  5. Make TCrypt.framework the current target.
  6. Build.
  7. Make OSXCrypt.framework the current target again.
  8. Build, this time everything should be fine.

  9. Open Terminal.app

  10. Enter /Cli/
  11. Run make.

NOTE! The cli will be moved into the OSXCrypt.project in the next release.

1. Ensure all components are built in Debug mode. 2. Load OSXCrypt.pmproj into PackageMaker. 3. Build

Source Directory Tree

Public APIs

TCrypt Kernel API:

TCryptAutoTestAlgorithms

TCryptAlgorithmValidate
TCryptAlgorithmModeValidate

TCryptContextCreate
TCryptContextCreateEmpty
TCryptContextCreateWithProperties
TCryptContextFree

TCryptContextEncryptSector
TCryptContextEncryptSectors
TCryptContextDecryptSector
TCryptContextDecryptSectors

TCrypt C++ Framework:

These are the very base of the TrueCrypt re-encapsulated:

  TCrypt::Algorithm
  TCrypt::Cipher
  TCrypt::HashingMethod
  TCrypt::Context
  TCrypt::Volume

This utility class encapsulate all the benchmarks from the
MS Windows UI of TrueCrypt:

  TCrypt::Benchmark

AppleStuff C++ Framework:

Apple::Hdi
Apple::DiskArbitration

OSXCrypt Framework:

OCFrameworkGetVersion

OCServiceConnect
OCServiceClose

OCServiceStartMonitor
OCServiceStopMonitor
OCServiceIsMonitored

OCStorageServiceConnect
OCStorageServiceClose

OCStorageServiceConnect
OCStorageServiceConnectWithAttach
OCStorageServiceConnectWithImagePath
OCStorageServiceClose

OCStorageServiceStart
OCStorageServiceStop (NYI)
OCStorageServiceIsStarted

OCStorageServiceCopyMediaBSDName
OCStorageServiceCopyBackingMediaBSDName

These are the classes for user-space IO:

  OSXCrypt::IO::Media
  OSXCrypt::IO::FileMedia
  OSXCrypt::IO::Stream

This last class has been written to make use of TrueCrypt
functions FormatNoFs and FormatFat without any major
modification.

8. Bug Fixes

[A4.3] 2008-01-14 - No more random errors or “Unknown error” or random “Success” in place of the actual error message (sorry, I rememberd about it after sending out the A4.1 :). - A bug which prevented the creation of hidden volume has been resolved. - Detaching a volume with files in use now doesn’t report success.

[A4.2] 2008-01-12 - A bug in OSXCrypt.framework which prevented the attachment of a volume due to a missing NULL pointer check has been fixed.

9. Legal Notices

OSXCrypt Legal Notice

This product is released under the terms of the BSD license.

Copyright (C) 2007-2008 OSXCrypt Project Copyright (C) 2007-2008 Orlando Bassotto All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

TrueCrypt Legal Notice

Legal Notice: The source code contained in this file has been derived from the source code of Encryption for the Masses 2.02a, which is Copyright (c) Paul Le Roux and which is covered by the ‘License Agreement for Encryption for the Masses’. Modifications and additions to that source code contained in this file are Copyright (c) TrueCrypt Foundation and are covered by the TrueCrypt License 2.3 the full text of which is contained in the file License.txt included in TrueCrypt binary and source code distribution packages.

The complete License.txt file for TrueCrypt can be found in /Library/Frameworks/OSXCrypt.framework/Frameworks/TCrypt.framework/Resources/TrueCrypt-License.txt.

TrueCrypt and the TrueCrypt logos are trademarks of the TrueCrypt Foundation.

Comments

One Response to “First alpha 5 public release is coming!”

  1. Anonymous on January 24th, 2008 12:08 am

    Great work guys!

Leave a Reply




OSXCrypt.org is Digg proof thanks to caching by WP Super Cache!