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

文書翻訳 文書翻訳
文書番号: 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 01000000
    Translated:
    TAG = 1
    LENGTH = 8 bytes
    DATA = 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 - 最終更新日: 2005年8月25日 - リビジョン: 2.5
この資料は以下の製品について記述したものです。
  • Microsoft Outlook 2000
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Messaging Application Programming Interface
キーワード:?
kbhowto kbmsg kbmt KB312900 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:312900
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com