0

ソースからビルドされた静的ライブラリに対してリンクしており、のヘッダーではなくローカルヘッダーを含め/usr/includeていますが、Xcodeのリストは減価償却されたものとして機能する可能性があり、シンボルを見つけることができません。誰かがlibsslをLionに取り組んでいますか?

4

2 に答える 2

2

はい、Lion では SSL 機能は非推奨です。

代わりにCommonCryptoのものを使用する必要があります。基本的に、すべての SSL 機能の代替品があり、通常は互換性があります。

たとえば、MD5 (openssl/md5.h) を使用すると、非推奨の警告が表示されます。CommonDigest をインクルードし、古い MD5_* 関数の代わりに CC_MD5_* 関数を使用できます。

他のシステムをサポートするために、互換性ヘッダーを作成することもできます。何かのようなもの:

#if defined( __APPLE__ )

    #include <CommonCrypto/CommonDigest.h>

    #ifdef MD5_DIGEST_LENGTH

        #undef MD5_DIGEST_LENGTH

    #endif

    #define MD5_Init            CC_MD5_Init
    #define MD5_Update          CC_MD5_Update
    #define MD5_Final           CC_MD5_Final
    #define MD5_DIGEST_LENGTH   CC_MD5_DIGEST_LENGTH
    #define MD5_CTX             CC_MD5_CTX

#else

    #include <openssl/md5.h>

#endif

これは MD5 のみですが、他のほとんどの機能についてはいくつか実行できるはずです。

編集

CommonCrypto は、CCCryptor による対称暗号化のみをサポートします。

非対称暗号化が必要な場合は、セキュリティ フレームワークを使用する必要があります。

Security Transforms Programming Guideを必ず参照してください。

于 2012-01-18T10:07:09.333 に答える
0

私の後に来る人のために、Apple のセキュリティ フレームワークには、特に (キーチェーンからキーを取得するため)、(PEM 形式にエクスポートするため)、および (NSData からキーを作成するため) を探しているものSecKeyGeneratePairSecItemCopyMatchingありSecItemExportますSecKeyCreateFromData。署名と検証は両方ともSecTransforms で行われます。適切な用語を検索すれば、Apple にはこれらすべての機能に関する適切なドキュメントがあります。

于 2012-01-20T10:23:58.157 に答える