我正在尝试编写具有ECDH支持的OpenSSL引擎。 我正在OpenSSL Wiki上关注此页面:https://wiki.openssl.org/index.php/Creating_an_OpenSSL_Engine_to_use_indigenous_ECDH_ECDSA_and_HASH_Algorithms。
但是它基于版本1.0.2,我需要使用OpenSSL 1.1.1。他们在Wiki中使用const Online_Visitors_System = class OnlineVisitors {
constructor() {
// get VisitorIP
this.IP = this.fetchIP();
// config redis for key space notification
this.redis = Redis.createClient();
this.redis.on("ready", () => {
this.redis.config("SET", "notify-keyspace-events", "KEA");
});
PubSub.subscribe("__keyevent@0__:incrby");
}
async fetchIP() {
return new Promise((resolve, reject) => {
return axios
.get("https://api.ipgeolocation.io/getip")
.then(res => resolve(res.data.ip));
});
}
VisitorInter() {
console.log(this.IP);
}
};
module.exports = new Online_Visitors_System();
函数注册ECDH方法,但此函数在OpenSSL 1.1.1中不可用。
我查看了文档,但没有找到与1.1.1版相同的文档。 ENGINE_set_ECDSA不可用的ECDSA方法也遇到相同的问题。 我应该如何继续使引擎实现ECDH,如何替换ENGINE_set_ECDH函数?