問題タブ [mscapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
783 参照

asp.net - powerbuilder の Microsoft Crypto API (CAPI)

Windows 証明書ストアから証明書情報を抽出し、取得した証明書を使用して署名を検証するなどの操作を実行する方法に関する情報の例を探しています。特定の証明書は USB トークン経由で提供されます。どんな助けや指針も大歓迎です、ありがとう。

0 投票する
1 に答える
805 参照

cryptoapi - PKCS12に保存された証明書へのアクセス

OpenSSL(C ++アプリケーション)で使用するために、保存された証明書を抽出する必要がある場合を調査しています。これはLocalComputer\ Personalストアにインポートされ、パスワードで保護された秘密鍵が含まれていました。

MS CryptoAPIを介して何を利用できますか?

私がしたいのは、元の証明書、またはパスワードで保護された形式または保護されていない形式の秘密鍵を取得することです。出来ますか?または、CryptoAPIは証明書のコピーを提供することを目的としておらず、OpenSSLを使用する代わりにその機能を使用しますか?

0 投票する
1 に答える
2288 参照

c - Microsoft Crypto API は RSAES-OAEP キー転送アルゴリズムの使用を無効にします

エンベロープ メッセージCryptEncryptMessageの生成に使用しています。暗号化アルゴリズムとしてPKCS#7使用しています。szOID_NIST_AES256_CBC

生成されたメッセージは有効であるように見えますが、実際にはRSAES-OAEPサポートが制限されているキー トランスポート アルゴリズム用です (Thunderbird、OpenSSL SMIME モジュールの多くはサポートしていません)。

私は、CAPI がRSAencryptionキー転送のために古いものに戻ることを望みます。

それを行う方法はありますか、使用するのではなく方法があれば低レベルのメッセージング機能に戻すことができますCryptEncryptMessageが、低レベルの機能を使用してもそれを行う方法が見つかりません。

コード:

0 投票する
1 に答える
2806 参照

c++ - PKCS#11に続くUSBドングルでMicrosoftCryptoAPIを使用する方法

会社から提供されたsafenet認証usbトークンを持っていますが、内部にデジタル公開鍵証明書があると言われました。彼らは私にパスワードとそれが内部の証明書を検出できることを私が見ることができるソフトウェアをくれました。次に、このトークンの証明書にアクセスする必要があります。次に、開発コードを使用して、署名、暗号化、および復号化を使用する必要があります。しかし、会社は私にSDKを提供しなかったので、私はC ++MicrosoftCryptoAPIですべてを行う必要があります。グーグルで検索しましたが、正しい方向に進んでいるかどうかわかりません

このコードでは、USBに保存された証明書の正しいハンドルが得られません

スマートカードまたはトークンのいずれかで、デフォルトの接続証明書を提供する必要があると思いました。MS_SCARD_PROVも試してみましたが、usbトークンを介してアクセスできるかどうかを考えましたが、トークンではなくスマートカードだけのようです。

私はこのタスクを完了するために必死です。専門家が知っている場合は、私を案内するか、正しいチュートリアルを見せてください。または、そのような種類のタスクのために何をすべきかを私に提案してください。

0 投票する
1 に答える
3673 参照

java - Java を使用して Windows (MSCAPI) のスマートカードからユーザーの ID を取得する方法は?

Sun の MSCAPIProvider を使用して、Windows 上の Java ファット クライアントのスマートカード (PKI) からユーザーの ID を取得したいと考えています。ターゲットは次のとおりです。

  1. ユーザーがアプリを開く
  2. カードを要求された
  3. PIN の入力を求められる
  4. Java で X509Certicate を取得します
  5. アクセス許可など

このスタックオーバーフローの質問サンプルに基づいて、MY ストア内のすべての証明書を一覧表示し、Microsoft スマートカード プロバイダーの PIN プロンプトでいくつかのバイトに署名できることがわかりました。

これは私のコードです:

今、私は2つの問題に直面しています:

  1. 彼の別名が何であるかはわかりません (鶏卵問題)
  2. HTTPS を介して SSL コンテキストを確立した結果、X509Cert で PIN 認証を強制するにはどうすればよいですか?

欠落しているビットはどれですか?

0 投票する
1 に答える
588 参照

c++ - CryptoAPI での CSP プロバイダーの識別

デジタル署名に USB トークンを使用するために MS CAPI API を使用しています。

CryptAcquireContext を使用すると、利用可能なすべての CSP の名前を出力できますが、どの CSP がプラグインされた USB トークンに関連付けられているかを知るにはどうすればよいでしょうか?

さらに、コンピューターに複数のトークンが接続されている場合はどうなるでしょうか。

アプリケーションはどのように CSP を選択することになっていますか?

0 投票する
1 に答える
7611 参照

java - デジタル署名 SunMSCAPI プロバイダー & MS Crypto API

SunMSCAPIプロバイダーでファイルに署名したい。公開鍵と署名は、MS Crypto API を使用してインポートする必要があるためです。

通常、 を使用して署名を生成するとSHA1withRSA、最終的にビッグ エンディアンからリトル エンディアン (バイト オーダー) への変換が行われます。

Java アプリケーションの場合:

これでSunMSCAPI問題は解決すると思いますが、MS Crypto API を使用して公開鍵をいつインポートするかはわかりません。最初の段階ではインポートされません (ビッグ エンディアンからリトル エンディアンのバイト オーダーに変更しない限り)。以下は暗号 API のコードです。 .

0 投票する
1 に答える
6866 参照

lua - C関数でluaスクリプトを生成する方法

C関数がlua関数を呼び出し、lua関数がC APIを呼び出す場合、luaがC APIを呼び出すと機能し、longjmpエラー

lua_yieldk、lua_callk、および lua_pcallk はどのように機能しますか?

私のCコード:

ルアコード

0 投票する
1 に答える
7964 参照

visual-c++ - Microsoft の cryptoAPI "Microsoft Enhanced RSA and AES Cryptographic Provider" の選択が win7 で機能しない

データに AES 256 ビット暗号化を使用したいのですが、それは "MS_ENH_RSA_AES_PROV" によって提供されます。そのために、CryptAcquireContext の 3 番目のパラメーターとして pszProviderName=TEXT("MS_ENH_RSA_AES_PROV") を使用して以下のコードを実行しようとすると、エラー番号 80090019 のような出力が得られます。 .このエラー コードは、「要求されたプロバイダーが存在しない」ことを意味します。

また、pszProviderName=TEXT("Microsoft Enhanced RSA and AES Cryptographic Provider") を使用すると、エラー番号 0x8009001b が表示されます。これは、「dwProvType で指定されたプロバイダー タイプが、見つかったプロバイダー タイプと一致せず、このエラーは pszProviderName が指定した場合にのみ発生する可能性がある」ことを意味します上記のエラー番号は、msdn の CryptAcquireContext ドキュメントで指定されています。なぜこれが起こっているのかわかりません。このパラメータが Null の場合、デフォルトの CSP を使用することを意味し、その場合はすべて正常に動作します。windows7を使用しています。この CSP は利用できませんか、それとも他の理由がありますか?誰か助けてください。よろしくお願いします。