Build more of Security

This commit is contained in:
Andrew Hyatt 2017-06-26 10:03:25 -07:00
parent ccc0cdd180
commit 5a114b54a2
19 changed files with 1838 additions and 0 deletions

View File

@ -3,3 +3,10 @@ add_subdirectory(sec)
add_subdirectory(libsecurity_apple_csp)
add_subdirectory(libsecurity_apple_cspdl)
add_subdirectory(libsecurity_apple_file_dl)
add_subdirectory(libsecurity_apple_x509_cl)
add_subdirectory(libsecurity_apple_x509_tp)
add_subdirectory(libsecurity_authorization)
add_subdirectory(libsecurity_cdsa_client)
add_subdirectory(libsecurity_cdsa_plugin)
add_subdirectory(libsecurity_cdsa_utilities)
add_subdirectory(libsecurity_cdsa_utils)

View File

@ -0,0 +1,28 @@
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/lib
)
add_library(libsecurity_apple_x509_cl OBJECT
lib/AppleX509CL.cpp
lib/clNssUtils.cpp
lib/DecodedItem.cpp
lib/clNameUtils.cpp
lib/Session_Cert.cpp
lib/CLFieldsCommon.cpp
lib/DecodedCert.cpp
lib/AppleX509CLBuiltin.cpp
lib/CertFields.cpp
lib/AppleX509CLSession.cpp
lib/CSPAttacher.cpp
lib/CLCrlExtensions.cpp
lib/AppleX509CLPlugin.cpp
lib/CLCachedEntry.cpp
lib/DecodedCrl.cpp
lib/CrlFields.cpp
lib/Session_CSR.cpp
lib/Session_CRL.cpp
lib/DecodedExtensions.cpp
lib/CLCertExtensions.cpp
lib/Session_Crypto.cpp
)
make_fat(libsecurity_apple_x509_cl)

View File

@ -0,0 +1,25 @@
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/lib
)
add_library(libsecurity_apple_x509_tp OBJECT
lib/TPDatabase.cpp
lib/TPCertInfo.cpp
lib/AppleTP.cpp
lib/ocspRequest.cpp
lib/TPNetwork.cpp
lib/tpCrlVerify.cpp
lib/AppleTPSession.cpp
lib/cuEnc64.c
lib/tpPolicies.cpp
lib/AppleX509TPBuiltin.cpp
lib/tpOcspVerify.cpp
lib/TPCrlInfo.cpp
lib/tpTime.c
lib/certGroupUtils.cpp
lib/tpOcspCache.cpp
lib/tpCertGroup.cpp
lib/tpOcspCertVfy.cpp
lib/tpCredRequest.cpp
)
make_fat(libsecurity_apple_x509_tp)

View File

@ -0,0 +1,12 @@
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/lib
)
add_library(libsecurity_authorization OBJECT
lib/trampolineServer.cpp
lib/Authorization.cpp
lib/Authorization.c
../authd/authutilities.c
lib/trampolineClient.cpp
)
make_fat(libsecurity_authorization)

View File

@ -0,0 +1,29 @@
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/lib
)
add_library(libsecurity_cdsa_client OBJECT
lib/dlclient.cpp
lib/mdsclient.cpp
lib/tpclient.cpp
lib/cssmclient.cpp
lib/cryptoclient.cpp
lib/aclclient.cpp
lib/DLDBList.cpp
lib/clclient.cpp
lib/signclient.cpp
lib/genkey.cpp
lib/macclient.cpp
lib/wrapkey.cpp
lib/keychainacl.cpp
lib/dliterators.cpp
lib/mds_standard.cpp
lib/dl_standard.cpp
lib/securestorage.cpp
lib/keyclient.cpp
lib/dlquery.cpp
lib/cspclient.cpp
lib/dlclientpriv.cpp
lib/multidldb.cpp
)
make_fat(libsecurity_cdsa_client)

View File

@ -0,0 +1,20 @@
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/lib
)
add_library(libsecurity_cdsa_plugin OBJECT
lib/ACabstractsession.cpp
lib/CSPabstractsession.cpp
lib/DLabstractsession.cpp
lib/DatabaseSession.cpp
lib/CSPsession.cpp
lib/csputilities.cpp
lib/DbContext.cpp
lib/Database.cpp
lib/pluginsession.cpp
lib/cssmplugin.cpp
lib/TPabstractsession.cpp
lib/DLsession.cpp
lib/CLabstractsession.cpp
)
make_fat(libsecurity_cdsa_plugin)

View File

@ -0,0 +1,48 @@
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/lib
)
add_library(libsecurity_cdsa_utilities OBJECT
../../gen/KeySchema.cpp
../../gen/Schema.cpp
lib/callback.cpp
lib/acl_secret.cpp
lib/osxverifier.cpp
lib/handletemplates.cpp
lib/cssmdates.cpp
lib/acl_preauth.cpp
lib/cssmcred.cpp
lib/acl_password.cpp
lib/cssmtrust.cpp
lib/cssmlist.cpp
lib/objectacl.cpp
lib/cssmalloc.cpp
lib/cssmdbname.cpp
lib/acl_protectedpw.cpp
lib/handleobject.cpp
lib/uniformrandom.cpp
lib/acl_prompted.cpp
lib/acl_codesigning.cpp
lib/cssmerrors.cpp
lib/cssmwalkers.cpp
lib/AuthorizationData.cpp
lib/db++.cpp
lib/walkers.cpp
lib/cssmpods.cpp
lib/cssmdata.cpp
lib/acl_threshold.cpp
lib/cssmacl.cpp
lib/cssmdb.cpp
lib/aclsubject.cpp
lib/cssmkey.cpp
lib/cssmendian.cpp
lib/cssmcert.cpp
lib/acl_process.cpp
lib/context.cpp
lib/acl_comment.cpp
lib/acl_any.cpp
lib/cssmaclpod.cpp
lib/u32handleobject.cpp
lib/constdata.cpp
)
make_fat(libsecurity_cdsa_utilities)

View File

@ -0,0 +1,15 @@
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/lib
)
add_library(libsecurity_cdsa_utils OBJECT
lib/cuPem.cpp
lib/cuEnc64.c
lib/cuCdsaUtils.cpp
lib/cuDbUtils.cpp
lib/cuOidParser.cpp
lib/cuPrintCert.cpp
lib/cuTimeStr.cpp
lib/cuFileIo.c
)
make_fat(libsecurity_cdsa_utils)

262
gen/KeySchema.cpp Normal file
View File

@ -0,0 +1,262 @@
/*
* Generated by m4 from KeySchema.m4 please do not edit this file.
*/
#include <security_cdsa_utilities/KeySchema.h>
#include <Security/SecKey.h>
namespace KeySchema {
// Key attributes
const CSSM_DB_SCHEMA_ATTRIBUTE_INFO KeySchemaAttributeList[] =
{
{ kSecKeyKeyClass, (char*) (char*) "KeyClass", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyPrintName, (char*) (char*) "PrintName", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_BLOB },
{ kSecKeyAlias, (char*) (char*) "Alias", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_BLOB },
{ kSecKeyPermanent, (char*) (char*) "Permanent", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyPrivate, (char*) (char*) "Private", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyModifiable, (char*) (char*) "Modifiable", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyLabel, (char*) (char*) "Label", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_BLOB },
{ kSecKeyApplicationTag, (char*) (char*) "ApplicationTag", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_BLOB },
{ kSecKeyKeyCreator, (char*) (char*) "KeyCreator", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_BLOB },
{ kSecKeyKeyType, (char*) (char*) "KeyType", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyKeySizeInBits, (char*) (char*) "KeySizeInBits", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyEffectiveKeySize, (char*) (char*) "EffectiveKeySize", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyStartDate, (char*) (char*) "StartDate", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_BLOB },
{ kSecKeyEndDate, (char*) (char*) "EndDate", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_BLOB },
{ kSecKeySensitive, (char*) (char*) "Sensitive", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyAlwaysSensitive, (char*) (char*) "AlwaysSensitive", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyExtractable, (char*) (char*) "Extractable", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyNeverExtractable, (char*) (char*) "NeverExtractable", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyEncrypt, (char*) (char*) "Encrypt", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyDecrypt, (char*) (char*) "Decrypt", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyDerive, (char*) (char*) "Derive", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeySign, (char*) (char*) "Sign", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyVerify, (char*) (char*) "Verify", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeySignRecover, (char*) (char*) "SignRecover", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyVerifyRecover, (char*) (char*) "VerifyRecover", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyWrap, (char*) (char*) "Wrap", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
{ kSecKeyUnwrap, (char*) (char*) "Unwrap", { 0, NULL }, CSSM_DB_ATTRIBUTE_FORMAT_UINT32 },
};
const uint32 KeySchemaAttributeCount = sizeof(KeySchemaAttributeList) / sizeof(CSSM_DB_SCHEMA_ATTRIBUTE_INFO);
// Key indices
const CSSM_DB_SCHEMA_INDEX_INFO KeySchemaIndexList[] =
{
// Unique (primary) index
{ kSecKeyLabel, 0, CSSM_DB_INDEX_UNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyApplicationTag, 0, CSSM_DB_INDEX_UNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyKeyCreator, 0, CSSM_DB_INDEX_UNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyKeyType, 0, CSSM_DB_INDEX_UNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyKeySizeInBits, 0, CSSM_DB_INDEX_UNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyEffectiveKeySize, 0, CSSM_DB_INDEX_UNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyStartDate, 0, CSSM_DB_INDEX_UNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyEndDate, 0, CSSM_DB_INDEX_UNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
// Secondary indices
{ kSecKeyLabel, 1, CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyEncrypt, 2, CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyDecrypt, 3, CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyDerive, 4, CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeySign, 5, CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyVerify, 6, CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeySignRecover, 7, CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyVerifyRecover, 8, CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyWrap, 9, CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
{ kSecKeyUnwrap, 10, CSSM_DB_INDEX_NONUNIQUE, CSSM_DB_INDEX_ON_ATTRIBUTE },
};
const uint32 KeySchemaIndexCount = sizeof(KeySchemaIndexList) / sizeof(CSSM_DB_SCHEMA_INDEX_INFO);
const CSSM_DB_ATTRIBUTE_INFO KeyClass =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "KeyClass"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO PrintName =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "PrintName"},
CSSM_DB_ATTRIBUTE_FORMAT_BLOB
};
const CSSM_DB_ATTRIBUTE_INFO Alias =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Alias"},
CSSM_DB_ATTRIBUTE_FORMAT_BLOB
};
const CSSM_DB_ATTRIBUTE_INFO Permanent =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Permanent"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Private =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Private"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Modifiable =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Modifiable"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Label =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Label"},
CSSM_DB_ATTRIBUTE_FORMAT_BLOB
};
const CSSM_DB_ATTRIBUTE_INFO ApplicationTag =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "ApplicationTag"},
CSSM_DB_ATTRIBUTE_FORMAT_BLOB
};
const CSSM_DB_ATTRIBUTE_INFO KeyCreator =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "KeyCreator"},
CSSM_DB_ATTRIBUTE_FORMAT_BLOB
};
const CSSM_DB_ATTRIBUTE_INFO KeyType =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "KeyType"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO KeySizeInBits =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "KeySizeInBits"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO EffectiveKeySize =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "EffectiveKeySize"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO StartDate =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "StartDate"},
CSSM_DB_ATTRIBUTE_FORMAT_BLOB
};
const CSSM_DB_ATTRIBUTE_INFO EndDate =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "EndDate"},
CSSM_DB_ATTRIBUTE_FORMAT_BLOB
};
const CSSM_DB_ATTRIBUTE_INFO Sensitive =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Sensitive"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO AlwaysSensitive =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "AlwaysSensitive"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Extractable =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Extractable"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO NeverExtractable =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "NeverExtractable"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Encrypt =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Encrypt"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Decrypt =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Decrypt"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Derive =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Derive"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Sign =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Sign"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Verify =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Verify"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO SignRecover =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "SignRecover"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO VerifyRecover =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "VerifyRecover"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Wrap =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Wrap"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
const CSSM_DB_ATTRIBUTE_INFO Unwrap =
{
CSSM_DB_ATTRIBUTE_NAME_AS_STRING,
{(char*) "Unwrap"},
CSSM_DB_ATTRIBUTE_FORMAT_UINT32
};
} // end namespace KeySchema

1383
gen/Schema.cpp Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
../../OSX/libsecurity_authorization/lib/AuthorizationPlugin.h

View File

@ -0,0 +1 @@
../../OSX/libsecurity_authorization/lib/AuthorizationPriv.h

View File

@ -0,0 +1 @@
../../OSX/libsecurity_codesigning/lib/CSCommonPriv.h

View File

@ -0,0 +1 @@
../../OSX/libsecurity_keychain/lib/SecKeychainItemPriv.h

View File

@ -0,0 +1 @@
../../OSX/libsecurity_keychain/lib/TrustSettingsSchema.h

1
include/Security/checkpw.h Symbolic link
View File

@ -0,0 +1 @@
../../OSX/libsecurity_checkpw/lib/checkpw.h

1
include/Security/mdspriv.h Symbolic link
View File

@ -0,0 +1 @@
../../OSX/libsecurity_mds/lib/mdspriv.h

View File

@ -0,0 +1 @@
../OSX/libsecurity_codesigning/lib

View File

@ -0,0 +1 @@
../OSX/libsecurity_ocspd/common