問題タブ [private-key]

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 投票する
3 に答える
4855 参照

php - 秘密鍵で暗号化/復号化

私が持っているFlash/PHPアプリケーションのいくつかにセキュリティを実装したいと思います。

PHPファイルと通信するFlashアプリがいくつかあり、PHPはデータをget string(例:)として送信していますname=John&sname=Doe&age=24&balance=12.4。これらすべての変数の代わりに、これらの値を含む単一の変数(例:)を送信しflashvar=jr9afgaw9-fg90agfawf7gwたいので、Flashは文字列を復号化し、実際の有用な変数を取得します。

秘密鍵を使用してこれを暗号化し、同じ秘密鍵を使用してFlash内でこれを復号化したい。PHPが送信するメッセージをデコードしたい場合は、フラッシュファイルを逆コンパイルし、Flashで使用している秘密鍵を見つけてメッセージをデコードしてからデコードする必要があります。

ここに投稿した理由は、暗号化/復号化に秘密鍵のみを使用できる暗号化アルゴリズムを使用したいからです。

私は暗号化の分野で新しいので、これについていくつかの提案が欲しいです。

ありがとうございました!

0 投票する
2 に答える
8923 参照

c - RSAキーを含むEVP_PKEYをコピーするにはどうすればよいですか?

EVP_PKEY_copy_parametersコピーできる関数を見つけましたEVP_PKEY。ただし、この関数に関する一部のドキュメントには、DSA/ECCアルゴリズムにのみ使用できると記載されています。( openssl.orgからの)公式ドキュメントには、この関数をRSAEVP_PKEYに使用できるかどうかについては記載されていません。

(RSAキーを含む)の別の実装はEVP_PKEY次のようになります。

何か提案はありますか?

0 投票する
0 に答える
59 参照

amazon - コードでAmazonアクセスキーを保護する

Amazon Web サービスでは、Web アプリケーションでリクエストを行うために ID と秘密鍵の両方を提供する必要があります。異なるサービスに対して異なる承認を持つ複数のキー ペアを作成することは可能ですが、これは、キーを Web アプリまたは DB に保存する必要があることを意味します。

ウェブアプリのキーを保存するための標準的な安全な方法または最良の方法はありますか? 今何を使っていますか?

私は、他の開発者が、アクセスしてはならないものへの特権アクセスを与える可能性のあるキーにアクセスすることを望んでいません。したがって、キーをリポジトリにコミットすることは問題です。

0 投票する
2 に答える
6143 参照

objective-c - プログラムで Mac キーチェーンから秘密鍵を保存および取得する

Mac アプリケーションでは、サーバーから送信されたログイン ユーザーの秘密鍵を安全な方法で保存し、必要に応じてプログラムで取得する必要があります。キーチェーンが秘密鍵を保管するのに最適な場所であることはわかっています。これを実現するためのサンプル コードはありますか?

「Security.framework」の「SecKeychainItemImport」メソッドを使用して秘密鍵をキーチェーンに追加できますが、キーチェーンから秘密鍵を取得する際に問題が発生します。キーチェーンから秘密鍵を取得するために、「SecKeychainItemCopyAttributesAndData」および「SecKeychainItemCopyContent」メソッドを使用してみました。しかし、これまでのところ運がありません。

「.ssh」隠しフォルダー内の秘密鍵の保管について言及しているブログも読みました。しかし、キーチェーン内に秘密鍵を保存すると、別のレベルのセキュリティが提供され、他の誰かが秘密鍵に簡単にアクセスできないようになると思います.

0 投票する
13 に答える
84513 参照

android - Androidアプリのキーストアを作成するときにアクセスが拒否されました

マーケットでリリースできるように、Androidアプリに署名しようとしています。キーストアを生成すると、アクセス拒否エラーが発生します。これを修正するにはどうすればよいですか?

アンドロイドキーストアの選択

これは私がやろうとしてきたことです:

  1. EclipseHeliosでプロジェクトを右クリックします。
  2. Androidツール>署名済みアプリケーションパッケージのエクスポート。
  3. [次へ]をクリックします。
  4. 「新しいキーストアを作成する」をチェックしましたが、何の役にも立ちません。それでもキーストアの場所を尋ねます。だから私はそれを難し​​い方法でやることにしました。
  5. 読み取り専用アクセスをオフにして、グループにフォルダのフルコントロールをC:\Program Files\Java\jdk1.6.0_25\bin許可しました。CREATOR OWNER
  6. Windows764ビットでコマンドラインを開きます。
  7. にトラバースしC:\Program Files\Java\jdk1.6.0_25\binます。
  8. keytoolを実行します。
  9. アクセス拒否エラーが発生しました。

編集:

フォルダのアクセス許可を確認するたびに、フォルダが読み取り専用に戻っていることがわかります。読み取り専用をオフにしてもエラーはありませんでした。

0 投票する
2 に答える
2955 参照

php - openssl_seal と openssl_open (両方とも PHP) を使用した public-private-key-encryption の Android 版は何ですか?

サーバー/データベースと通信する必要があるAndroidアプリの開発を始めました。サーバー側では、PHP を使用してデータを収集したり、クエリを実行したりします。セキュリティ (XSS、SQL インジェクションなど) についてよく読んでいます。クライアントとサーバーの間で送信されるデータも暗号化したいので、PHP で openssl 関数を扱い始めました。

openssl_seal- および openssl_open-functions は、この目的に適しているようです。私はこれらの2つの関数を書きました:

「a」は (暗号化/暗号化する) データであり、「b」は openssl_seal によって生成され、復号化に使用されるランダムキーです。

2 つのキーファイルは、Windows で以下を使用して作成されています。

  • privateKey ファイルの「openssl.exe genrsa -out private.key 1024」
  • publicKey ファイルの「openssl.exe rsa -in private.key -out public.pem -outform PEM -pubout」

PHP内では、これはすべて期待どおりに機能します。

しかし、Android で同じ手法を実装するにはどうすればよいでしょうか (私は初心者です!)?

PHP側でopenssl_sealと組み合わせて使用​​する例をWebで検索しましたが、何も機能していませんでした。

  1. Android 側でデータを暗号化し、PHP で復号化できるようにしたいと考えています。
  2. そして、サーバーが暗号化されたデータを送信している場合、これは Android 側で復号化されます (2 つ目の public/privateKey ペアを使用すると仮定します)。

ここに記載されている例も実装しましたが、うまくいきませんでした (openssl_private_decrypt は PHP 側では常に FALSE でした)。だから、それは私を助けませんでしたが、それはAndroid => PHP暗号化だけであり、その逆はありませんでした。

要約すると、受信者のみがデータを復号化できる両側で、Android と PHP の間で送信されるデータを暗号化および復号化する方法を探しています。誰かが私に例や手がかりを与えることができますか?

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

rsa - ファイルに署名するとき、キーの長さはどのように異なりますか?

私は暗号化やセキュリティに関するクラスを受講したことがなく、いくつかの基本を自分自身に教えようとしているので、これがばかげた質問である場合は許してください(心配しないでください、私は機密性の高いものに取り組んでいません)

そこで、私はCrypto ++をいじって、ファイルの署名を作成して、ファイルが自分以外の誰かによって編集されているかどうかを確認できるようにしています。ライブラリに付属しているテストアプリケーションには、自分のプログラムで実行したいことを正確に実行するオプション(rsおよびrv)があるように見えます(ファイルの署名の整合性を確認します)。もちろん、その前に公開鍵と秘密鍵を生成する必要があります。テストアプリケーションのgオプションを使用してこれを行うと、キーの長さをビット単位で指定するように求められます。キーの長さはどのような違いがありますか?

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

authentication - 秘密鍵チャレンジとは何ですか?

スマートカードについて読んでいるときに、秘密鍵チャレンジと呼ばれるこの用語に出くわしました。

秘密鍵の課題–証明書が発行されたトークンにバインドされており、コピーまたは複製されていないことを確認します。

この秘密鍵チャレンジはどのように行われますか?

よろしくお願いいたします。

晴れ。

0 投票する
2 に答える
7200 参照

wcf - C# WCF クライアント エラー "X.509 証明書に秘密キーが存在しません"

SOAP メッセージをサードパーティ サービスに送信する非常に単純な WCF クライアント アプリケーションを作成しようとしています。すべてのメッセージはデジタル署名されている必要があります。これは、より大きなアプリケーションにコードを追加する前の概念実証です。

証明書を含む .cer ファイルと、秘密鍵を含む .pem ファイルがあります。私がやろうとしているのは、.cer ファイルを使用して証明書をロードし、メッセージを送信することです。しかし、「X.509 証明書に秘密鍵が存在しません」というエラーが表示されます。

問題の 1 つである問題は、私が WCF、デジタル証明書、秘密鍵などについてほとんど何も知らないことです。私はいくつかの読書をしました、私は顔が青くなるまでグーグルで検索しましたが、どこにも行きませんでした.

.cert ファイルを開くと、証明書に秘密鍵が含まれていることを示す「BEGIN ENCRYPTED PRIVATE KEY」というラベルの付いたセクションがあります。では、存在しないというメッセージが表示されるのはなぜですか? また、秘密鍵を証明書に追加する必要がある場合、どうすればよいですか?

ここで基本的に私がやっていること。これは私の実際のコードではありませんが、関連するすべてのものが含まれています。

0 投票する
3 に答える
11026 参照

url - HMAC または OpenSSL による URL 署名

URL 署名 (例: http://.../?somearg=value&anotherarg=anothervalue&sig=aSKS9F3KL5xc ) に興味がありますが、いくつかの要件があり、まだ解決策がありません。

  • PHPまたはfor pages のいずれかを使用するPythonので、2 つのうちの 1 つを使用して署名し、署名を検証できる必要があります。
  • 私の計画は、秘密鍵/公開鍵スキームを使用してデータに署名し、署名が有効であることを確認できるようにすることでしたが、ここで複雑になります。
  • 検証が行われているときのデータは不明です (それはただではありませんsomearg=value&anotherarg=anothervalue) 。

私の最初の本能は、たとえば RSA キーペアを使用して OpenSSL を使用し、署名の行に沿って何かを行うことでした:およびデータとキーのみopenssl rsautl -sign -inkey private.pem -in sensitive -out privsigned に基づく検証: 。privsignedopenssl rsautl -verify -inkey public.pem -in privsigned -pubin

PHPを使用してデータopenssl_get_privatekey()openssl_sign()署名しても問題ありませんが、検証するために(復号化された!)データを知る必要があります(これはありません):openssl_get_publickey()およびhttp://php.net/openssl_verifyopenssl_verify($data, $signature, $pubkeyid);から。

それとも、ここで何か不足していますか?


Pythonそこで、HMAC を調べてみましたが、との両方で多くのハッシュ関数が利用可能ですが、ハッシュを検証するPHP方法については困惑しています。 を使用すると、 「キー」(この場合は文字列キー) を使用してハッシュを作成できます。しかし、ハッシュが有効であることを確認するにはどうすればよいですか (つまり、エンド ユーザーが手動で入力しただけではありません。PHPhash_hmac()&sig=&sig=abcdefg1234

要約すると(長い質問で申し訳ありません):サーバーの(証明書/文字列)キーによって署名/ハッシュが作成されたことを確認するにはどうすればよいですか(上記のデータのハッシュをやり直しても確認できない場合)?また、Priv/pub-key または HMAC のどちらのルートを選択すればよいかについて、何か好みはありますか?

大小のポインタは大歓迎です!前もって感謝します、

  • ジョシュ