2011-01-03 3 views
2

So hat mein Projekt heute gewesen, eine C++ Klasse zu erstellen, die viele unserer häufigsten verwendeten Krypto Aufgaben konsolidiert. Es funktionierte viel, aber es gab hier einen kleinen Haken. Als Referenz verwende ich XCode 3.2.5 unter OS 10.6.5.Mit OpenSSL CMS Implementierung in C++

Ich bin versucht, einige von OpenSSL CMS-Funktionen zu nutzen. OpenSSL's MAN Page für eine der Funktionen, die ich versuche zu verwenden erwähnt, war es in Version 0.9.8 enthalten. Das ist die Version XCode, die ich importieren kann, ohne etwas Außergewöhnliches zu tun (Ziel -> Allgemein -> Verknüpfte Bibliothek hinzufügen). Aber mit diesem zusätzlichen XCode sagt mir, dass es openssl/cms.h nicht finden kann.

denken Also vielleicht gibt es einige Unterschiede zwischen dem OS X-Version 0.9.8 und der auf OpenSSLs Seite, ich die Quelle für 1.0.0c heruntergeladen und baute es. Nachdem es erstellt wurde, fügte ich libcrypto.a und libssl.a zu meinem Projekt als verknüpfte Bibliotheken hinzu und fügte "einige/dirs/openssl-1.0.0c/include/**" als Header-Suchpfad hinzu. Jetzt kann es openssl/cms.h finden, aber ich bekomme einen Verbindungsfehler bei jeder CMS-Funktion, die ich anrufe.

Hat jemand dies erfolgreich getan? Jede Hilfe wäre zu schätzen.

Danke!

Antwort

1

Also, was ich am Ende war dabei ein neues SDK und die Berufung zu schaffen,

./Configure darwin64-x86_64-cc --prefix=/path/to/sdk/usr --openssldir=/System/Library/OpenSSL enable-cms shared 

Um die Version von OpenSSL zu aktualisieren in diesem SDK enthalten. Das scheint zu funktionieren.