VeraCrypt:基于TrueCrypt 7.1a的开源加密工具项目

Disk encryption with strong security based on TrueCrypt

分支10Tags56
当前项目代码仓暂无内容

此档案包含 VeraCrypt 的源代码。 它基于原始的 TrueCrypt 7.1a,并进行了安全性增强和修改。

重要事项

您仅可在接受并同意本档案中包含的“License.txt”文件内的许可条款的前提下,使用本档案中的源代码。

请注意,许可条款规定,例如,衍生作品不得命名为“TrueCrypt”或“VeraCrypt”。

目录

I. Windows

II. Linux 和 Mac OS X

III. FreeBSD 和 OpenBSD

IV. 第三方开发者(贡献者)

V. 法律信息

VI. 进一步信息

I. Windows

构建 Windows 版 VeraCrypt 的要求:

有关如何在 Windows 上构建 VeraCrypt 的详细指南,请参见存储库中的文档,该指南也可在在线镜像站点获取。

重要提示:

64 位版本的 Windows Vista 及更高版本的 Windows,在某些情况下(例如播放 HD DVD 内容时)32 位版本也一样,不允许 VeraCrypt 驱动程序在没有适当数字签名的情况下运行。 因此,官方 VeraCrypt 二进制软件包中的所有 .sys 文件均使用 IDRIX 的数字证书进行了数字签名,该证书由 GlobalSign 证书颁发机构颁发。在每个官方 .exe 和 .sys 文件的末尾,都嵌入了数字签名和所有相关证书(即相关证书链中的所有证书,例如证书颁发机构证书、CA-MS 交叉证书以及 IDRIX 证书)。

如果您编译 VeraCrypt 并将您的二进制文件与官方二进制文件进行比较,请记住这一点。如果您的二进制文件未签名,则官方二进制文件的大小通常会比您的二进制文件大大约 10 KiB(如果您使用不同版本的编译器,或者为 Visual Studio 安装了不同的服务包或未安装服务包,或者为其安装了不同的热修复程序,或者使用了不同版本的所需 SDK,则可能会有进一步的差异)。

VeraCrypt Windows 版本签名与打包说明:

首先,创建一个环境变量“WSDK81”,指向 Windows 8.1 SDK 的安装目录。

“Signing”文件夹中包含一个批处理文件(sign.bat),该文件将使用证书存储中的代码签名证书对所有 VeraCrypt 组件进行签名,并构建最终的安装程序和 MSI 包。此批处理文件假定代码签名证书由 GlobalSign 颁发,IDRIX 的证书即为此类。如果您的证书由其他证书颁发机构(CA)颁发,则应将其中间证书放入“Signing”文件夹,并相应修改 sign.bat。

要生成 MSI 包,必须安装 WiX Toolset v3.11。

VeraCrypt EFI 引导加载程序:

VeraCrypt 源代码在 src\Boot\EFI 目录下包含预构建的 EFI 二进制文件。 VeraCrypt EFI 引导加载程序的源代码采用 LGPL 许可,可从 https://github.com/veracrypt/VeraCrypt-DCS 获取。 有关构建说明,请参阅文件 src\Boot\EFI\Readme.txt。

II. Linux 和 Mac OS X

有关在 Linux 上构建 VeraCrypt 的详细指南,请参见存储库中的文档,该指南也可通过在线方式镜像站点获取。

Linux 和 Mac OS X 版 VeraCrypt 构建要求:

VeraCrypt for Linux 和 Mac OS X 构建说明:

  1. 将当前目录切换到 VeraCrypt 源代码的根目录。

  2. 如果未安装 wxWidgets 共享库,请运行以下命令为 VeraCrypt 配置并构建 wxWidgets 静态库:

    $ make WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild

    变量 WX_ROOT 必须指向 wxWidgets 库的源代码位置。输出文件将放置在 './wxrelease/' 目录中。

  3. 要构建 VeraCrypt,请运行以下命令:

    $ make

    如果未安装 wxWidgets 共享库,则运行:

    $ make WXSTATIC=1

  4. 如果构建成功,VeraCrypt 可执行文件应位于 'Main' 目录中。

可重现构建说明:当未设置 SOURCE_DATE_EPOCH 时,从 git 检出的构建使用 HEAD 提交时间戳,而从发布 tarball 构建则使用 src/Common/Tcdefs.h 中的发布日期(UTC 时间 00:00)。要从 git 检出重现官方发布制品,请显式设置 SOURCE_DATE_EPOCH 或从发布 tarball 构建。在另一个 git 检出中跟踪的 Vendored VeraCrypt 源代码将以相同方式处理,并使用该检出的 HEAD 时间戳。

生成的 .deb.rpm 包均具有可重现性,包括在缺少 SOURCE_DATE_EPOCH/_buildhost 构建宏的旧版 rpm(例如 CentOS/RHEL 7)上。

默认情况下,构建的是支持图形用户界面和文本用户界面(通过 --text 开关)的通用可执行文件。 在 Linux 上,可以使用 'NOGUI' 参数构建仅控制台可执行文件,该文件不需要 GUI 库:

$ make NOGUI=1 WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild

$ make NOGUI=1 WXSTATIC=1

Arch Linux 软件包构建:

Arch Linux 用户可以使用 makepkg 从当前检出构建并安装软件包:

$ cd src/Build/Packaging/arch

$ makepkg -si

在 MacOSX 上,不支持构建仅控制台可执行文件。

Mac OS X 特定说明:

在 MacOSX 下,默认使用最新安装的 SDK。要在使用 make 构建时使用不同版本的 SDK,可以导出环境变量 VC_OSX_SDK:

$ export VC_OSX_SDK=13.0

对于开发依赖管理,可以使用 homebrew

$ brew install pkg-config yasm wxwidgets

还需要系统依赖项

$ brew install --cask macfuse packages

通过 brew 安装依赖项后,可以构建本地开发版本

$ ./src/Build/build_veracrypt_macosx.sh -b

如果要构建软件包,必须向上述构建脚本传递 -p。构建的可执行文件将位于 .src/Main 中。

如果倾向于从源代码构建,或不使用 homebrew,则必须安装 pkg-config 和 packages。

https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz 获取 pkg-config,并使用以下命令编译:

$ CFLAGS="-Wno-int-conversion" CXXFLAGS="-Wno-int-conversion" ./configure --with-internal-glib

$ make

$ sudo make install

确保 pkg-config 可用后,从 https://macfuse.github.io/ 下载并安装 macFUSE。

build_veracrypt_macosx.sh 脚本执行 VeraCrypt 的完整构建,包括创建安装程序 pkg。它期望在放置 VeraCrypt 源代码的同一级别找到 wxWidgets 3.2.5 源代码(即,如果 "src" 路径为 "/Users/joe/Projects/VeraCrypt/src",则 wxWidgets 应位于 "/Users/joe/Projects/wxWidgets-3.2.5")。

make 构建过程使用代码签名证书,其 ID 在 src/Main/Main.make 中指定(查找包含 "Developer ID Application" 和 "Developer ID Installer" 的行)。必须修改这些行以放入代码签名证书的 ID,或者如果没有证书,则将其注释掉。

由于与 macFUSE 的不兼容性问题,SDK 10.9 生成的 VeraCrypt 二进制文件在与 macFUSE 内核扩展通信时存在问题。因此,建议使用其他 macOS SDK 版本构建 VeraCrypt。

用于 VeraCrypt 官方构建的 Packages 安装程序已由 IDRIX 进行公证,可从 https://github.com/idrassi/packages/releases 获取。

III. FreeBSD 和 OpenBSD

从 14 版本开始支持 FreeBSD。 从 7.8 版本开始支持 OpenBSD。 构建要求和说明与 Linux 相同,只是应使用 gmake 而非 make。

IV. 第三方开发者(贡献者)

如果您打算实现某项功能,请先与我们联系,以确保:

  1. 该功能尚未被实现(我们可能已经实现但尚未发布代码)。
  2. 该功能是可接受的。
  3. 我们是否需要第三方开发者协助实现该功能。

联系我们的方式可在以下网址找到: https://veracrypt.jphttps://veracrypt.io(镜像)

V. 法律信息

版权信息

本软件整体:
Copyright (c) 2026 AM Crypto. All rights reserved.

本软件部分内容:
Copyright (c) 2026 AM Crypto. All rights reserved.
Copyright (c) 2013-2025 IDRIX. All rights reserved.
Copyright (c) 2003-2012 TrueCrypt Developers Association. All rights reserved.
Copyright (c) 1998-2000 Paul Le Roux. All rights reserved.
Copyright (c) 1998-2008 Brian Gladman, Worcester, UK. All rights reserved.
Copyright (c) 1995-2023 Jean-loup Gailly and Mark Adler.
Copyright (c) 2016 Disk Cryptography Services for EFI (DCS), Alex Kolotnikov
Copyright (c) 1999-2023 Dieter Baron and Thomas Klausner.
Copyright (c) 2013, Alexey Degtyarev. All rights reserved.
Copyright (c) 1999-2016 Jack Lloyd. All rights reserved.
Copyright (c) 2013-2019 Stephan Mueller smueller@chronox.de
Copyright (c) 1999-2023 Igor Pavlov

欲了解更多信息,请参阅源代码各部分所附的法律声明。

商标信息

源代码、二进制文件和/或文档中包含的任何商标均为其各自所有者的专有财产。

VI. 更多信息

https://veracrypt.jp
https://veracrypt.io(镜像)

项目介绍

基于TrueCrypt的强安全性磁盘加密【此简介由AI生成】

定制我的领域
23611.5 K1.33 K访问 GitHub