これに対する答えを探すために、Google でかなりの時間を費やしてきました。ソリューションを説明するコードをいくつか見つけましたが、ほとんどは C、.NET、または Java で書かれています。私の場合はVB6です。
私は非常に単純なRSA1アプリケーションを持っています.いくつかのデータに署名し(「appA」で秘密鍵を使用)、署名を検証します(「appB」で公開鍵を使用、これはVB6アプリです)。現在、CryptoAPI ライブラリを介してすべてが正常に動作しています。
「appA」署名部分は UNIX サーバーに移動し、OpenSSL で実行する必要があります (できれば)。問題は、キー形式を PEM から CryptoAPI が期待する PublicKeyBlob に変換することです。
この C コードを VBに移植しようとしました。CryptStringToBinary は成功しますが、CryptDecodeObjectEx がハングして VB がクラッシュします。
VB でのこの使用法を示すドキュメントを見つけることができませんでした。それが可能かどうかさえわかりません。誰かがこれに光を当てることができることを願っています。必要なすべての構造が不足していれば問題が解決することを期待して、CryptDecodeObject (sans "Ex") 関数も試しましたが、同じ問題です。
テスト キーは、openssl_pkey_new を使用して OpenSSL によって生成されました