Outlook での MAPI プロファイルに、S/MIME 証明書を割り当てする方法

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:312900
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
ここでは、プログラムによってデジタル署名と暗号化電子メール用の Microsoft Outlook を使用する MAPI プロファイルにデジタル証明書を割り当てる方法について説明します。 ここでは、このタスクの MAPI 部分をアドレスし、セキュリティで保護された多目的インターネット メッセージング拡張 (S/MIME) の実用的な知識を想定しています。
詳細
証明書を MAPI プロファイルを割り当てる場合、次の手順に従います。
  1. 署名証明書と、[暗号化証明書の両方には、ハッシュを取得します。 これらのハッシュはバイナリ形式で、暗号化アプリケーション プログラミング インターフェイス (API) の CertGetCertificateContextProperty 関数を使用して取得できます:
    CertGetCertificateContextProperty(pCert, CERT_HASH_PROP_ID, *lpbHash, cbHash);					
  2. ASN1 でエンコードされた S/MIME 機能バイナリ ラージ オブジェクト (BLOB) 証明書を生成します。 詳細については、S/MIME の要求のコメント (RFC) を参照してください。
  3. セキュリティ設定を保持する BLOB を作成します。 各設定またはプロパティは構成されて、TAG/LENGTH データの組み合わせのとおりいます。

    タグプロパティを示します (下の一覧を参照)。2 バイト
    長さタグと長さのバイトを含む、プロパティの合計数を示します。2 バイト
    データデータが含まれています。可変長

    次に例を示します:
    0100 0800 01000000Translated:TAG = 1LENGTH = 8 bytesDATA = 1						
    をここには、プロパティを BLOB に含める必要があります。

    プロパティ数値の値長さ説明
    PR_CERT_PROP_VERSION0x00018常に 1 を予約います。
    PR_CERT_MESSAGE_ENCODING0x00068エンコードの種類 (S/MIME = 1)。
    PR_CERT_DEFAULTS0x00208ビット:
    0x1 = S/MIME 用に既定の証明書。
    0x2 = すべての形式の既定の証明書。
    0x4 = メッセージと共に証明書を送信します。
    PR_CERT_DISPLAY_NAME_A0x000B変動Outlook ユーザー インターフェイス (たとえば、[S/MIME 設定]) では、設定の名前を表示します。
    pr_cert_keyex_sha1_hash0x0022変動暗号証明書用のバイナリ ハッシュします。 このプロパティは、署名のみを許可する場合は省略できます。
    pr_cert_sign_sha1_hash0x0009変動証明書の署名用バイナリ ハッシュします。
    PR_CERT_ASYMETRIC_CAPS0x0002変動ASN1 でエンコードされた S/MIME 機能 BLOB。

    格納されることに注意してください、プロパティはすべて 1 つの連続バイト ストリームで。
  4. IProfAdmin インターフェイスを使用して、MAPI プロファイルを開けません。
  5. セキュリティ設定が格納されている、GUID_Dilkie プロファイル セクションを開きます。 次のように GUID_Dilkie を定義:
    const GUID CDECL GUID_Dilkie = {  0x53bc2ec0, 0xd953, 0x11cd, {0x97, 0x52, 0x00, 0xaa, 0x00, 0x4a, 0xe4, 0x0e}  };					
  6. 手順 5 は、 IProfSect インターフェイスを提供します。 このインターフェイスで、次のプロパティ設定:
    #define PR_SECURITY_PROFILES PROP_TAG(PT_MV_BINARY, 0x355)						
    このプロパティは、複数値を持つバイナリ プロパティ。 手順 3 で作成した BLOB を持つプロパティで、最初のバイナリ値を設定する必要があります
    LPPROFSECT          lpProfSect = NULL;SPropValue          SecProp;LPSPropValue        lpSecProp = &SecProp;SBinary             sbCert;LPBYTE              lpbCertBlob = NULL;ULONG               cbCertBlob = 0;// Do the work to generate lpbCertBlob (step 3) and open GUID_Dilkie profile section.// Set up property tag structure for PR_SECURITY_PROFILES.SecProp.ulPropTag = PR_SECURITY_PROFILES;SecProp.Value.MVbin.cValues = 1;SecProp.Value.MVbin.lpbin = &sbCert;SecProp.Value.MVbin.lpbin[0].cb = cbCertBlob;SecProp.Value.MVbin.lpbin[0].lpb = lpbCertBlob;// Set properties on the profile section.if (FAILED(hRes = lpProfSect->SetProps(1, lpSecProp, NULL))){    printf("Error setting property on profile.\n");    goto error;}					

警告: この記事は自動翻訳されています

プロパティ

文書番号:312900 - 最終更新日: 12/07/2015 08:11:21 - リビジョン: 2.5

Microsoft Outlook 2000, Microsoft Outlook 2002 Standard Edition, Microsoft Messaging Application Programming Interface

  • kbnosurvey kbarchive kbhowto kbmsg kbmt KB312900 KbMtja
フィードバック