CAPICOM の使用に代わる方法
Note
CAPICOM は、windows Server 2008、Windows Vista、Windows XP Windows SDK で使用できる 32 ビットのみのコンポーネントです。 代わりに、.NET または .NET Framework を使用してセキュリティ機能を実装します。 詳細については、次の代替手段を参照してください。
重要
CAPICOM の代替手段には、スクリプト用のソリューションはありません。そのため、独自の ActiveX コントロールを記述する必要があります。 詳細については、「ActiveX コントロール」を参照してください。
証明書ストア オブジェクト
証明書ストアとそれらのストア内の証明書を操作する場合は、次の方法を推奨します。
Object | 代替手段 |
---|---|
[証明書] | 証明書 オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509Certificate2 クラスを使用します。 |
CertificatePolicies | CertificatePolicies オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、パラメーターとして OID を受け取るコンストラクターを呼び出して、System.Security.Cryptography.X509Certificates 名前空間の X509Extension クラスを使用し、証明書ポリシーの OID を使用して証明書ポリシーを取得します。 |
証明書 | 証明書 オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509Certificate2Collection クラス を使用します。 |
CertificateStatus | CertificateStatus オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間で X509ChainStatus 構造体を使用します。 |
チェーン | Chain オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509Chain クラス を使用します。 |
ExtendedProperties | ExtendedProperties オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、プラットフォーム呼び出しサービス (PInvoke) を使用して Win32 API 関数 CertGetCertificateContextProperty を呼び出し、プロパティを取得します。 PInvoke の詳細については、「プラットフォーム呼び出し (P/Invoke)を参照してください。 P/Invoke を使用した .NET と CryptoAPI: パート 1 および P/Invoke による CryptoAPI: CAPICOM と P/Invoke を使用した .NET と CryptoAPI: パート 2の拡張 のサブセクションも役立つ場合があります。 |
ExtendedProperty | ExtendedProperty オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、プラットフォーム呼び出しサービス (PInvoke) を使用して Win32 API 関数 CertGetCertificateContextProperty を呼び出し、プロパティを取得します。 PInvoke の詳細については、「プラットフォーム呼び出し (P/Invoke)を参照してください。 P/Invoke を使用した .NET と CryptoAPI: パート 1 および P/Invoke による CryptoAPI: CAPICOM と P/Invoke を使用した .NET と CryptoAPI: パート 2の拡張 のサブセクションも役立つ場合があります。 |
拡張子 | 拡張 オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509Extension クラス を使用します。 |
拡張機能 | 拡張 オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509ExtensionCollection クラス を使用します。 |
PrivateKey | [PrivateKey オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の XX509Certificate2.PrivateKey プロパティ を使用します。 |
PublicKey | PublicKey オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509Certificate2.PublicKey プロパティ を使用します。 |
Store | ストア オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509Store クラス を使用します。 |
[テンプレート] | テンプレート オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、パラメーターとして OID を受け取るコンストラクターを呼び出して、System.Security.Cryptography.X509Certificates 名前空間の X509Extension クラス を使用し、証明書テンプレートの OID を使用して証明書拡張テンプレートを取得します。 |
デジタル署名オブジェクト
データにデジタル署名し、デジタル署名を検証するには、次の代替手段をお勧めします。
Object | 代替手段 |
---|---|
SignedCode | [SignedCode オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、プラットフォーム呼び出しサービス (PInvoke) を使用して Win32 API SignerSignEx、 SignerTimeStampEx、および WinVerifyTrust 関数を呼び出して、Authenticode デジタル署名でコンテンツに署名します。 PInvoke の詳細については、「プラットフォーム呼び出し (P/Invoke)を参照してください。 P/Invoke を使用した .NET と CryptoAPI: パート 1 および P/Invoke による CryptoAPI: CAPICOM と P/Invoke を使用した .NET と CryptoAPI: パート 2の拡張 のサブセクションも役立つ場合があります。 |
SignedData | [SignedData オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で SignedCms クラスを使用します。 |
署名者 | Signer オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で SCmsSigner クラスを使用します。 |
Signers | Signers オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、CmsSigner オブジェクトのコレクションを使用します。 詳細については、System.Security.Cryptography.Pkcs 名前空間の CmsSigner クラスを参照してください。 |
エンベロープ データ オブジェクト
次の代替手段として、プライバシーのためにエンベロープ データ メッセージを作成し、エンベロープ メッセージ内のデータを復号化することをお勧めします。
Object | 説明 |
---|---|
EnvelopedData | [EnvelopedData オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で EnvelopedCm クラスを使用します。 |
受信者 | [Recipients は、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で CmsRecipientCollection クラスを使用します。 |
データ暗号化オブジェクト
プライバシーのために任意のデータを暗号化したり、暗号化されたデータを復号化したりするには、次の代替手段をお勧めします。
Object | 説明 |
---|---|
EncryptedData | EncryptedData オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、プラットフォーム呼び出しサービス (PInvoke) を使用して Win32 API 関数 CryptEncryptMessage および CryptDecryptMessage を呼び出してメッセージを暗号化および復号化します。 PInvoke の詳細については、「プラットフォーム呼び出し (P/Invoke)を参照してください。 P/Invoke を使用した .NET と CryptoAPI: パート 1 および P/Invoke による CryptoAPI: CAPICOM と P/Invoke を使用した .NET と CryptoAPI: パート 2の拡張 のサブセクションも役立つ場合があります。 |
補助オブジェクト
他のオブジェクトの既定の動作を変更したり、証明書、証明書ストア、メッセージを管理するには、次の代替手段をお勧めします。
Object | 説明 |
---|---|
アルゴリズム | Algorithm オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で AlgorithmIdentifier クラスを使用します。 |
属性 | [Attribute オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で CryptographicAttributeObject クラスを使用します。 |
属性 | [Attributes オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptograph 名前空間の CryptographicAttributeObjectCollection クラスを使用します。 |
BasicConstraints | BasicConstraints オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509BasicConstraintsExtension クラス を使用します。 |
EKU | EKU オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509EnhancedKeyUsageExtension クラス を使用します。 |
EKUs | EKU オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509ExtensionCollection クラス を使用します。 |
EncodedData | EncodedData オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で AsnEncodedData クラスを使用します。 |
ExtendedKeyUsage | ExtendedKeyUsage オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509EnhancedKeyUsageExtension クラス を使用します。 |
HashedData | [HashedData オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で HashAlgorithm クラスを使用します。 |
KeyUsage | KeyUsage オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.X509Certificates 名前空間の X509EnhancedKeyUsageExtension クラス を使用します。 |
NoticeNumbers | NoticeNumbers オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 詳細については、「正規表現での量指定子」を参照してください。 |
OID | OID オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で Oid クラスを使用します。 |
OID | [OIDs オブジェクトは、「要件」セクションで指定されているオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で 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 を使用して証明書ポリシー拡張機能内のポリシー情報の一部である修飾子を処理します。 |
Settings | 代替手段はありません。 |
Utilities | 代替手段はありません。 |