2

ローカル マシンの信頼できる発行元に証明書をインストールするための以下のコードを見つけました。しかし、コードは C# です。同じことを C でも行いたいのですが、これを C に変換するにはどうすればよいですか?

private static void InstallCertificate(string cerFileName)
{
  X509Certificate2 certificate = new X509Certificate2(cerFileName);
  X509Store store = new X509Store(StoreName.TrustedPublisher,StoreLocation.LocalMachine);
  store.Open(OpenFlags.ReadWrite);
  store.Add(certificate);
  store.Close();
 }

利用可能な Windows API はありますか?

4

2 に答える 2

4

libpkix libを見てみてください

libpkix ライブラリの目的は、最新の IETF PKIX 標準 (RFC 3280) に準拠した X.509 証明書のチェーンを構築および検証するための、広く役立つ C ライブラリを提供することです。このプロジェクトは、RFC 3280 のすべての必須機能と多数のオプション機能を完全にサポートすることを目的としています。

于 2012-05-24T07:27:30.463 に答える
2

この例を試してください:

#include <openssl/ssl.h>
static int store_cert(SSL_CTX * ctx, X509 * cert)
{
    X509_STORE * x509_store;

    x509_store=SSL_CTX_get_cert_store(ctx);

    if (X509_STORE_add_cert(x509_store, cert)==0)
    {
        printf("ERROR: add certificate\n");
        return 0;
    }
    return 1;

}
于 2012-05-24T14:41:48.967 に答える