問題タブ [ber]
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# - 外部 Web サービスからのハッシュと署名を使用して、iText シャープを介して PDF に署名する
外部 Web サービスを介して PDF に署名しようとしています。Web サービスは SHA-256 16 進数でエンコードされたハッシュを受け取り、署名されると、サービスは 16 進数のダイジェスト署名を返します。
現時点では、iText 7 (c#) ライブラリを使用して、署名値でドキュメントに署名しようとして立ち往生しています。ローカルの自己署名証明書を使用して itext で PDF ドキュメントに署名することはできましたが、外部コンテナーではまだ署名できませんでした。adobe acrobat は常に BER デコードに関する問題を報告します。私の側または署名の値が正しくありません。
ソフトウェア サンプルを使用した署名手順は次のとおりです。
最初に空白の dignature を追加し、このドキュメントに署名してからハッシュ (SHA-256) を生成します。
/li>ハッシュは bytearray に変換され、Web サービスに送信されます
/li>Web サービスは、文字列データの例である署名データで応答します
"473e8e376ca067f3c806902f718be21bf8a788ddbd31786b14fc47678596d6993a4f1ecb80e091f93af4820a75d97aee4b1a15c4a7914b4f881ca86e5d06b429b176d5b663c986c9ce2824333c98e0b5def0af53178b9ce38aa4efaa0adce2eee409487fb7fecf58e4c5bfcc3a0d083e35a83f9c722c73b78784e9990b6f00b89ae4934714c92b34699ce00ad5a662d0058bd613021449e9d09ab2d25376230de75591ab6ce4b5c5d24216794e8c871a690b4e19011621d41c66f4b0048abc9f2d4449072ee9e70c30dcf9b8b5a1ea8ee3a285163c2c5b293a3798a4a13ca59e83c66d9148d519b55e13643a3a7e0794732b92f50c1424f7be5774f67e910076"
文字列は、次の関数を使用して bytearray に変換されます。
/li>署名コンテナはバイト配列署名を使用して構築され、ドキュメントはコンテナと署名済みドキュメント バイトを使用して署名されます。
/li>
また、元の pdf、署名なしの pdf、および署名付きの pdf を参照用に以下のリンクに追加しました。誰かが内容を見て、ここで何がうまくいかないのか教えてくれることを願っています. 私はすでにオンラインで解決策を探すのに何時間も費やしていますが、これまでのところ何も見つかりませんでした.
よろしく、 ジョス・アイラーズ
mkl の回答のおかげで、次のように PKCS コンテナーを構築するコードを書き直しました。最初にハッシュと署名付きバイトを作成し、これを署名サービスに送信します。
次に、返された署名を使用して新しい PKCS7 コンテナーを作成し、次のように遅延署名を実行します (前述のハッシュは前のセクションのバイト配列 sh です)。
現時点では、証明書は PDF に表示されていますが、ドキュメントが変更されたというエラーがまだ残っています。また、ここで秘密鍵の使用が必要かどうかについても興味があります (これが必要な場合、プロバイダーからまだ返信がありません)。
誰も洞察を持っていますか、使用されているWebサービスはDigidentityからのものです
signal-processing - GNU Radio の SNR と BER
gnuradio で受信信号の品質を判断する必要があります。このために、ビット エラーまたは信号対雑音比 (SNR) の観点から測定できます。どちらが実行しやすく、これら 2 つのパラメーターの読み取り値のどちらが優れているか教えてください。 gnuradio でより正確になりますか?