CAPICOM の使用に代わる方法
[CAPICOM は、次のオペレーティング システムで使用できる 32 ビットのみのコンポーネントです:Windows Server 2008、Windows Vista、Windows XP。 代わりに、.NET Frameworkを使用してセキュリティ機能を実装します。 詳細については、以下の代替手段を参照してください。
重要
CAPICOM の代替手段には、スクリプトのソリューションはありません。したがって、独自のActiveX コントロールを記述する必要があります。 詳細については、「ActiveX コントロール」を参照してください。
証明書Microsoft Store オブジェクト
証明書ストアとそれらのストア内の証明書を操作する場合は、次の方法をお勧めします。
デジタル署名オブジェクト
データにデジタル署名を行い、デジタル署名を確認する代わりに、次の方法を使用することをお勧めします。
Object | 代替手段 |
---|---|
SignedCode | SignedCode オブジェクトは、[要件] セクションで指定されたオペレーティング システムで使用できます。 代わりに、プラットフォーム呼び出しサービス (PInvoke) を使用して Win32 API SignerSignEx、 SignerTimeStampEx、 WinVerifyTrust 関数を呼び出して、Authenticode デジタル署名でコンテンツに署名します。 PInvoke の詳細については、「 プラットフォーム呼び出しのチュートリアル」を参照してください。 P/Invoke を使用した .NET と CryptoAPI: パート 1 と P/Invoke による .NET と CryptoAPI:CAPICOM と P/Invoke を使用した .NET 暗号化の拡張のパート 2 サブセクションも役立つ場合があります。 |
SignedData | SignedData オブジェクトは、[要件] セクションで指定されたオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で SignedCms クラスを使用します。 |
署名 | 署名者オブジェクトは、[要件] セクションで指定されたオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で CmsSigner クラスを使用します。 |
署名 | 署名者オブジェクトは、[要件] セクションで指定されたオペレーティング システムで使用できます。 代わりに、CmsSigner オブジェクトのコレクションを使用します。 詳細については、System.Security.Cryptography.Pkcs 名前空間の CmsSigner クラスを参照してください。 |
エンベロープされたデータ オブジェクト
プライバシーのためにエンベロープ データ メッセージを作成したり、エンベロープ メッセージ内のデータを復号化したりするには、次の代替手段を使用することをお勧めします。
Object | 説明 |
---|---|
EnvelopedData | EnvelopedData オブジェクトは、要件セクションで指定されたオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で EnvelopedCms クラスを使用します。 |
Recipients | Recipients オブジェクトは、[要件] セクションで指定されたオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で CmsRecipientCollection クラスを使用します。 |
データ暗号化オブジェクト
プライバシーのために任意のデータを暗号化し、暗号化されたデータを復号化する代わりに、次の方法をお勧めします。
Object | 説明 |
---|---|
EncryptedData | EncryptedData オブジェクトは、[要件] セクションで指定したオペレーティング システムで使用できます。 代わりに、プラットフォーム呼び出しサービス (PInvoke) を使用して Win32 API 関数 CryptEncryptMessage と CryptDecryptMessage を呼び出してメッセージを暗号化および復号化します。 PInvoke の詳細については、「 プラットフォーム呼び出しのチュートリアル」を参照してください。 P/Invoke を使用した .NET と CryptoAPI: パート 1 と P/Invoke による .NET と CryptoAPI:CAPICOM と P/Invoke を使用した .NET 暗号化の拡張のパート 2 サブセクションも役立つ場合があります。 |
補助オブジェクト
他のオブジェクトの既定の動作を変更したり、証明書、証明書ストア、メッセージを管理したりするには、次の方法をお勧めします。
Object | 説明 |
---|---|
アルゴリズム | Algorithm オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で AlgorithmIdentifier クラスを使用します。 |
属性 | Attribute オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、System.Security.Cryptography 名前空間で CryptographicAttributeObject クラスを使用します。 |
属性 | Attributes オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、System.Security.Cryptography 名前空間で CryptographicAttributeObjectCollection クラスを使用します。 |
BasicConstraints | BasicConstraints オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間で X509BasicConstraintsExtension クラスを使用します。 |
EKU | EKU オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間で X509EnhancedKeyUsageExtension クラスを使用します。 |
Eku | EKU オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間で X509ExtensionCollection クラスを使用します。 |
EncodedData | EncodedData オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、System.Security.Cryptography 名前空間で AsnEncodedData クラスを使用します。 |
ExtendedKeyUsage | ExtendedKeyUsage オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間で X509EnhancedKeyUsageExtension クラスを使用します。 |
HashedData | HashedData オブジェクトは、「要件」セクションで指定されたオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography 名前空間で HashAlgorithm クラスを使用します。 |
KeyUsage | KeyUsage オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間で X509EnhancedKeyUsageExtension クラスを使用します。 |
NoticeNumbers | NoticeNumbers オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 詳細については、「 修飾子」を参照してください。 |
OID | OID オブジェクトは、要件セクションで指定されたオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography 名前空間で Oid クラスを使用します。 |
OID | OID オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、System.Security.Cryptography 名前空間で OidCollection クラスを使用します。 |
PolicyInformation | PolicyInformation オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、パラメーターとして OID を受け取るコンストラクターを呼び出して System.Security.Cryptography.X509Certificates 名前空間の X509Extension クラスを使用し、証明書ポリシーの OID を使用して証明書ポリシー拡張機能のポリシー情報を処理します。 |
修飾子 | Qualifier オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、パラメーターとして OID を受け取るコンストラクターを呼び出して System.Security.Cryptography.X509Certificates 名前空間の X509Extensionクラスを使用し、証明書ポリシーの OID を使用して、証明書ポリシー拡張機能のポリシー情報の一部である修飾子を処理します。 |
修飾子 | Qualifiers オブジェクトは、「要件」セクションで指定されたオペレーティング・システムで使用できます。 代わりに、パラメーターとして OID を受け取るコンストラクターを呼び出して System.Security.Cryptography.X509Certificates 名前空間の X509Extensionクラスを使用し、証明書ポリシーの OID を使用して、証明書ポリシー拡張機能のポリシー情報の一部である修飾子を処理します。 |
設定 | 代替手段はありません。 |
Utilities | 代替手段はありません。 |
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示