問題タブ [hmacsha1]

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 に答える
698 参照

ios - Objective-C での HMAC SHA1 実装に関する問題

HMAC-SHA1 アルゴリズムを使用して、残りのリクエストの base64 署名を作成しようとしています。私は特に SinglePlatform API を使用しています。手順は次のとおりです。

  1. リクエストのドメイン部分を取り除き、パスとクエリのみを残します:/locations/haru-7?client=YOUR_CLIENT_ID
  2. URL 用に変更された Base64 でエンコードされた秘密鍵を取得し、HMAC-SHA1 アルゴリズムを使用して上記の URL に署名します。署名キーを元のバイナリ形式にデコードする必要がある場合があります。多くの暗号化ライブラリでは、結果の署名はバイナリ形式になります。
  3. URL 用に変更された Base64 を使用して結果のバイナリ署名をエンコードし、この署名を URL 内で渡すことができるものに変換します。sigparameter を使用して、この署名を URL に添付します。

私の現在の実装は次のとおりです。

最初に受け取った署名キーは Base64 に変更されているため、-+_/ 文字を置き換えています。この実装は適切な署名キーを返しましたが、一貫性がありません。

Objective-C を C に変換する際に明らかに間違ったことをしていますか? これを処理するより良い方法はありますか?

私のアプリケーションは ARC を使用しています。

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

c - Cでhmac sha1を実装する

Hmac-sha1 を生成する小さなコードを試しています。SHA1 計算用の OpenSSL ライブラリを使用して hmac 実装を自分でコーディングするように依頼されました。アルゴリズムの 'wiki'ing の後、ここに私が持っているものがあります.RFC 2246 で指定されたテスト値で入力を使用しました:

RFC2104 の例を使用して行った以下のコードでは、必要に応じて COUNTER = 0 の値を取得していますが、上記のように COUNTER 値が 2、3 などの他の値に設定されている場合、HMAC SHA1 は上記の値と一致しません。また、別の問題は、bzero または bcopy の代わりに memcpy および memset を使用すると、コードが COUNTER = 0 値と一致しない異なる (間違った) Hmac Sha1 値を示すことです。この奇妙な振る舞いの理由を説明してください。

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

perl - HMAC_SHA1 プラグインを読み込めません

Perl で Twitter アプリケーションを実行し、上記の問題に直面しています。Perl は 5.8.8 で、システムは root アクセスのない AIX です。

コード

エラー

/vv/mm/tt/perl5/lib/perl5/Net/Twitter/Lite.pm 行 192 で HMAC_SHA1 プラグインをロードできません

とにかく

元気に走っています。

O/P

Digest::HMAC_SHA1 は最新 (1.03) です。

および SHA1 が正しく実行されていません

make test を実行しています make が成功しないとテストできません make install を実行しています Make が悪いステータスを返しました。インストールは不可能のようです このコマンドで失敗しました: GAAS/Digest-SHA1-2.13.tar.gz
: make NO

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

coldfusion - ColdFusion を使用して API 認証用の HMAC-SHA1 ハッシュを作成しようとしています

私はこれで頭がいっぱいです。これを機能させるための正しいコードの組み合わせが見つかりません。API クエリの認証ダイジェストを作成しようとしています。多くの CFML 関数 (例: Coldfusion HMAC-SHA1 暗号化およびHMAC SHA1 ColdFusion ) を試しましたが、API ドキュメントで引用されているのと同じ結果にはなりません。その例を次に示します (基本的には、区切り記号として改行を含むリクエスト ヘッダーの要素です)。

ここに鍵があります:

ドキュメントによると、次のようになります。

HMAC ハッシュが Base64 に変換されるとき。どんなアイデアでも大歓迎です!

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

ios - post xml 経由で認証要求を quickblox に送信する際の無効な署名エラー

iPhone アプリのバックエンドに quickblox というサービスを使用する方法を学ぼうとしています。ただし、アプリと quickblox サービスとの接続を検証するときに問題が発生しました。接続を承認するには、アプリ ID、auth_key、タイムスタンプ、ノンス、および署名を含むポスト リクエストを送信して、quickblox からトークンを取得する必要があります。しかし、投稿リクエストを送信すると、サーバーは私の署名が無効であることを示すステータス コード 422 を返します。署名は、アプリ ID、認証キー、タイムスタンプ、ナンスを取得し、それを使用して hmac-sha1 ハッシュを生成することによって作成されます。hmac-sha1 ジェネレーターが正しく動作していることを確認したので、郵便番号が間違っているのか、それとも別のものなのかはわかりません。常に署名エラーが返されるためです。ここに私のアプリデリゲートがあります:

ドキュメントには、リクエストはこのようにフォーマットする必要があると書かれています。投稿リクエストに問題がある人はいますか?正しくフォーマットしていませんか? ドキュメントには、次のようにフォーマットする必要があると書かれています。

前もって感謝します。

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

security - 無許可のシステムからのアクセスとリプレイ攻撃を防止するためのソルトとして時間をハッシュおよび使用する

現在、モバイル ゲームのユーザー認証 API を作成しています。ユーザーがモバイルアプリからのみシステムにアクセスできるようにしたいと思います。(つまり、正確な POST パラメーターが有効であっても、サーバー API がブラウザーまたは CURL (非許可システム) からアクセスされた場合、サーバーはアクセスを拒否する必要があります)。理想的には、システムがリプレイ攻撃も許可しないようにする必要があります。

これを行う方法のアイデアや例はありますか?

現在のタイムスタンプを使用してユーザーごとに一意のソルトを追加し、クライアント アプリの秘密キーを使用してパラメーターを SHA256 処理し、サーバーで検証することを考えています。この方法により、攻撃者は SHA256 ハッシュを計算するために秘密鍵を取得する必要があるため、ブラウザーまたは CURL からのアクセスを防ぐことができます。ソルト (タイムスタンプを含む) もパラメーターの 1 つとして送信され、サーバーはタイムスタンプを取得し、特定の時間を過ぎている場合はアクセスを拒否します。しかし、私はセキュリティで保護されたアプリを設計したり、以前にそのソースコードを見たりしたことがないため、セキュリティと、それが一般的または正しい慣行であるかどうかについてはよくわかりません.

ご意見ありがとうございます。