OS X(El Capitan)のCでコーディングしようとしていますが、OpenSSLを使用する必要があります。OSにはバージョンが付属してい0.9.8zh 14 Jan 2016
ます。
homebrewを使用してopensslをアップグレードおよびインストールしました(バージョン1.0.2hを入手しました)が、正しくリンクして使用できません。これが行われたものです:
brew update
brew install openssl
brew link --force openssl
それは私に言ってエラーを与えました
Warning: Refusing to link: openssl
。
私のパス/usr/local/bin
は最初のものとして参照します。
このコマンドを実行しました:
ln -s /usr/local/Cellar/openssl/1.0.2j/include/openssl /usr/local/include/openssl
(ここでこのソリューションを見つけました:El Capitanを含むOpensslなど)
エラー出力がなかったので、私はこれが機能すると仮定しました。しかし..
which openssl
私にこの出力を与えます: /usr/local/bin/openssl
openssl version
私にこの出力を与えます: OpenSSL 0.9.8zh 14 Jan 2016
私がやろうとしているのは、いくつかのCLIコマンドを実行するか、プレーンvi
エディタで編集されたCコードを書くことgcc
です。私はヘッダーファイルにopensslを使用しています
#include <openssl/sha.h>
#include <openssl/ripemd.h>
また、このパスに私を導いたCLIで実行しているコマンドはこれでした(それが役立つ場合):
openssl dgst -sha256 -sign ec-priv.pem ex-message.txt >ex-signature.der.
エラーが発生します:
EVP_SignFinal:wrong public key type.
グーグルは、私がそれを更新する必要がある古いOpenSSLバージョンの原因であることを理解するように導きました。
ここに進む方法についてのアイデアはありますか?
openssl version
、正しいバージョンが表示されました。だからそれは適切にリンクされ、古いシェルですべて実行していたので、正しいバージョンが表示されていませんでした。コメントすることはできませんので、これを回答としてここに入れています。あなたに応答する他の方法を見つけることができませんでした。これを答えにしたら、私はそれを受け入れます。