問題タブ [cryptoapi]
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.
c++ - wincrypt を使用したデータ ファイルの復号化。困っている。例は、CBase64Utils?
wincrypt を使用していくつかのデータ ファイルを復号化する必要がありますが、オンラインでの例はほとんどありません。私が見つけた最も堅実な例はhereです。ただし、これは、情報を見つけることができないと思われるあらゆる種類の型 (CBase64Utils、CString など) を使用しています。
私はプロセスを理解しようとしている最終的な解決策を読んでおり、これに到達しました:
これは私にとって純粋な中国語です。誰かがそれを理解して、うまくいけば濁った水をきれいにすることができますか? ありがとう
c++ - 無効なアルゴリズムが指定されました CryptoAPI
128BIT AES Decryption を使用して何かを解読しようとしています。CryptDecrypt を呼び出そうとすると、「無効なアルゴリズムが指定されました」というエラーが表示されます。ここに投稿されたライブラリを使用すると、同じ問題が発生します: http://www.codeproject.com/KB/security/WinAES.aspx
このエラーの原因は何ですか?
Visual Studio 2008 を使用して vista64bit で CryptoAPI を使用しています。レジストリをチェックインすると、AES ライブラリが存在します...
編集
InitWinCrypt 関数
AesOffering 構造体:
EDIT2
コンピューターを再起動し、CBC チャンクを削除した後。現在、Bad Data エラーが発生しています。データは C# で正常に復号化されます。しかし、wincrypt を使用してこれを行う必要があります。
windows - cryptoapiwindows7のサポート
Microsoftは、VistaおよびServer 2008以降から暗号化次世代(CNG)を導入しました。しかし、私の質問は、MicrosoftがWindows7およびServer2008で古いMSCAPI(たとえば、Windows2003およびWindowsXP)をサポートしているかどうかを知ることです。
ありがとう
ラージ
c - WinHttp: 一時的な証明書ストアを使用するには?
サーバーの 1 つに HTTPS 接続を行う C++ アプリケーションがあります。私の理想の世界では、次のことが起こることを望みます。
- アプリの起動
- アプリは、Windows がサーバーのルート CA を信頼するようにします (GUI は使用せず、システム コールのみを使用してください)。
- アプリはサーバーと通信し、その作業を行います。
- アプリは Windows にサーバーのルート CA を忘れさせます
- 終わり
このルート CA が他のアプリから信頼される必要はありません。したがって、証明書をシステム全体にインストールしたくありません。ユーザーが管理者権限を必要としない場合も希望します。
私の最初の計画は、インメモリ (CERT_STORE_PROV_MEMORY) ストアを作成し、そこに証明書を追加してから、CertAddStoreToCollection を使用してそのインメモリ ストアをシステム ストアに追加することでした。
すべての CryptoAPI 関数呼び出しは成功しますが、WinHttp はそれを好みません。
これが私がやっていることの骨子です - おそらく誰かがトリックを知っていますか? それとも、そもそもこれは頭がおかしいのでしょうか?
いくつかのメモ:
- WinHttp の SECURITY_FLAG_IGNORE_UNKNOWN_CA を使用するとすべてが機能するため、これが本当に問題であると確信しています。
- 私はすでにこのSOの質問を見てきました-それは近いですが、アプリの実行中に証明書を一時的にのみ信頼するという問題には対処していません。
ありがとう!
winapi - CryptEncrypt()API
この関数が戻ったときにバッファの最後でジャンクバイトを取得するのは正常ですか?
cryptography - Window CryptoAPI: RSA キー ペアを生成するときに公開指数を選択できますか?
Windows CryptoAPI を使用して、新しいキー ペアを生成するときに使用する公開指数 (つまり、65537 ではなく 3) を指定する方法はありますか?
おまけの質問: .NET を使用してこの機能にアクセスするにはどうすればよいRSACryptoServiceProviderですか?
編集:答えは「いいえ」だと思いますが、確認したいと思います。
c# - Windows CryptoAPI PRIVATE KEY BLOB を弾む城に変換する RsaPrivateCrtKeyParameters
Windows CryptoAPI PRIVATE KEY BLOB を Bouncy Castle で使用される RsaPrivateCrtKeyParameters に変換する方法 (Mono の FromCapiPrivateKeyBlob と同様) はありますか?
encryption - プライベートとパブリックの交換キーペアのインポート
RSA1024プライベートパブリックエクスチェンジキーペアをMachine-1からMachine-2にエクスポートしたいと思います。XPでcryptoAPIを使用しています。
Machine-1で、キーペアを生成しました。実際にいくつかの実際のデータを暗号化するセッションキーをラップしました。キーコンテナ名は「PAIR1」です。
Machine-2では、セッションキーを秘密キー(Machine-1で生成したもの)でアンラップしたいと思いました。この目的のために、キーペアをMachine-1からMachine-2にエクスポートしたいと思いました。
永続キーをエクスポートする際のセキュリティ上の欠陥を認識しています。
私は何を試しましたか?
キーペアをMachine_1からPKCS#12-pfxファイルとしてエクスポートしました。Machine-2にインポートしたところ、キーコンテナ名が「PAIR1」から「none」に変更されました。私のアプリケーションでは、交換キーペアで正しい秘密キーを選択するために同じコンテナ名が必要です。キーコンテナ名を変更することはできますか?
これは機能しますか?
交換鍵ペアをMachine-2の公開鍵でラップし、Machine-2にインポートします。この場合、キーコンテナ名は同じままですか、それとも変更されますか?これが正しいアプローチかもしれないと思います。
編集済み: このクエリを実行した理由は、セッションキーを交換キーペア(公開キー)でラップし、ラップされたキーと暗号化されたデータをサーバーのメディアに配置したためです。このメディアはさまざまなクライアントを迂回し、サーバーに戻ります。この時点で、ラップされていないセッションキーを使用してデータを復号化します。このアンラッピングには、交換秘密鍵が必要です。私はこれをデモ目的で行っており、マーケティング担当者が鍵交換などを実行することは期待できません。クライアントにセキュリティの側面を示し、マーケティング担当者との設定の手間を減らしたいと考えました。
最後に、キーペアをエクスポートし、Ramsusアプローチが正しい方法ですが、必要な場所に同じものをインポートしました。