問題タブ [digital-signature]
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.
winapi - How to verify that my orgainization signed a trusted windows binary?
This is a followup question to question 1072540, 'WinVerifyTrust to check for a specific signature?'.
I want to write a C++ function Lets call it TrustedByUs
of the form:
The idea is that we give this function a path to a binary .dll or .exe file that has been signed with a digital signature. The pathToPublicKey
string is the path to a public key of our particular signing certificate.
Using the code in http://support.microsoft.com/kb/323809 it's pretty straight forward to verify that the pathToBinary
file is in fact trusted by the operating system.
Now I'm in the same place as the writer of question 1072540, I know the OS trusts the signer of this binary, but I want to know if my organization's RSA key is the one that signed the binary.
The KB323809 shows how to extract the strings from certificate embedded in our binary file. This example shows how to extract strings from the signing certificate in its GetProgAndPublisherInfo
function, but I'm uncomfortable using a string match to verfiy the certificate.
What I would like to do is extract the public key from the embedded signature and compare it to the public key that corresponds with the private key that signed my binary file in the first place.
The documentation for CryptMsgGetParam
says that the CMSG_SIGNER_CERT_ID_PARAM
parameter 'Returns information on a message signer needed to identify the signer's public key'. I succeed in getting the certificate's serial number with this key. My code looks like this:
This is close to what I want, but really I'd like to use the signing certificate's public key to verify that the target signed binary file was in fact created with my particular public/private key pair.
Using the CMSG_ENCRYPTED_DIGEST
flag this code succeeds:
Bottom line question: Given the certificate information discovered by CryptQueryObject
, what technique should I used to ensure that the target file was in fact signed using the private key that corresponds to the public key that is available to me when the above code executes?
security - タイムスタンプを使用してデータに安全に署名するにはどうすればよいですか?
安全なタイムスタンプを使用してデータベース内のレコードに署名し、その日付以降に誰も変更していないことを証明したいと思います。
どのような方法またはプロトコルを検討する必要がありますか?RFC 3161?そのサービスを提供すると主張している私が見つけたほとんどのウェブサイトは、私にはあまり評判が良くないようです。
あなた自身を転がすことは可能ですか?
java - Java で XML ドキュメントに署名する簡単な方法はありますか?
Java を使用して XML ドキュメントにデジタル署名しようとしています。javax.xml.crypto.dsig
パッケージ内のさまざまな実装を使用することがわかったいくつかの参照で動作する実装があります。
ただし、私の現在の実装は、これまで見てきた多くの例java.xml.crypto.dsig
と似ています。かなり冗長で、javax.xml.transform
、 、java.security
パッケージなどから 23 個以上の異なる API クラスを使用する必要があります。工場工場工場の土地に足を踏み入れたような気分で、何が起こっているのかを理解するだけで数時間かかりました。
私の質問は、これを行う簡単な方法はありますか? 公開鍵/秘密鍵ファイルを持ってい<Signature/>
て、XML ドキュメントに追加したい場合、次のようなものを呼び出せるライブラリはありますか?
...XMLSignatureFactory/CanonicalizationMethod/DOMSignContext の狂気のすべてなしで?
私は暗号化についてはあまり詳しくありません。Java が提供する API は、デジタル署名に慣れようとしている私のような開発者にとってはかなり難しいようです。これらすべてが必要な場合、または現在、より使いやすい API が存在しない場合は、それで問題ありません。回答として喜んで受け入れます。ここで不必要に困難な道を進んでいるかどうかを知りたいだけです。
java - Acrobat Proの外部でデジタル署名のPDFを有効にできますか?
私は小さなプログラムで大きなPDFを取得し、それを分割して(iTextを使用して)、各ファイルにデジタル署名フィールドを追加しています。分割部分は正常に機能しますが、Adobe Readerを使用しているユーザーは、Acrobat Professionalを使用しているユーザーがファイルを開いてリーダーに対して有効にするまで、生成されたファイルに署名できません。
自動的に有効化する方法はありますか?Java / iTextソリューションが私の最初の選択肢ですが、自動化されたものはすべて現在のシステムに勝るものです。
.net - .NET でスマートカードを使用して PDF ファイルにデジタル署名する方法は?
デジタル証明書を保存するスマートカードを持っています。PC にプラグインすると、Windows 証明書ストアの [IE] > [ツール] > [インターネット オプション] > [コンテンツ] > [証明書] に証明書が表示されます。
それで...どうすればそのような証明書を使用して.NETでPDFファイルに署名できますか?
asp.net - Web アプリケーションで PDF ドキュメントにデジタル署名する方法は?
私は、ユーザーがクライアント マシンにインストールされた証明書を使用して PDF ドキュメントにデジタル署名できるようにする Web アプリケーションを構築しています。
署名されたドキュメントはサーバーに戻され、署名されたバージョンが保存されます。
サーバーはクラシック ASP/ASP.NET を実行しています
どこに行けばよいですか?
.net - SignedXml.CheckSignature のパフォーマンスの問題
.NET 3.5 を使用した XML ファイルの署名のチェックに問題があります。すべて正常に動作しますが、ランダムにパフォーマンスが低下します。すぐに返されることもあれば、戻るのに 10 ~ 15 秒かかることもあります。
マシンをチェックしましたが、全体的なパフォーマンスに影響を与えるものは何もありません。また、別のマシンでも同じであるため、1 つのマシンに関連しているとは思いません。
私はそれを .CheckSignature() メソッドに正確に絞り込んだので、一度ヒットすると、いつ戻ってくるかは誰にもわかりません。
誰か考えやアドバイスはありますか?
digital-signature - SAML 署名値を検証する方法
セキュリティ キーを送信している顧客がいます。彼らが使用している暗号化はトリプル DES です。彼らが送信するすべてのアサーションには、必要な特権を与えるために検証する必要がある署名値があります。これを行うサンプルコードを教えてください。
vba - プログラムで Excel マクロに証明書を割り当てる方法
Excel マクロを作成するコードをいくつか開発しましたが、新しいマクロを作成するたびに、プログラムでマクロにデジタル署名したいと考えています。新しいデジタル証明書を作成し、それらをプログラムでマクロに割り当てる方法があれば教えてください。ありがとう。
java - Java アプリケーションで Microsoft PKCS#9 SignerInfo 属性を使用する方法は?
http://msdn.microsoft.com/en-us/library/system.security.cryptography.pkcs(VS.85).aspxでは、次のデジタル署名属性が定義されていることがわかります。
- Pkcs9ContentType
- Pkcs9ドキュメントの説明
- Pkcs9DocumentName
- Pkcs9MessageDigest
- Pkcs9SigningTime
このうち、Pkcs9DocumentDescriptionとPkcs9DocumentNameはPKCS#9 仕様には存在しません。Bouncy Castleを使用する Java アプリケーションがあり、この 2 つの属性を持つデジタル署名をアプリケーションで作成できるようにしたいと考えています。
それで、私は2つの質問があります:どうやってそうするのですか?私はそれをすべきですか?