拡張の署名が2つの「キー」で構成されていることを注意:
- プライベートキーファイル、
.pem
、そのはCRXファイルに署名するために使用され、今後の更新のために同じでなければなりません。
- マニフェストで生成された公開鍵は、将来の更新に署名する代わりに使用することができます(署名を検証するために使用されます)が、特定のIDをに展開するために使用することができます。公開鍵のハッシュ(好奇心をそそる人のために、
key
が存在しない場合、解凍された拡張子はhashing the pathに戻ります)。
は、Googleがそれを処理してみましょう:
あなたは、2つのオプションがあります。
マニフェストからkey
フィールドを完全に削除します。それを店に提出してください。
CWSは、拡張のための新しい鍵ペア(結果的に新しいID)を生成します。この鍵ペアは、更新の間に保持されます。開発版のIDを維持する必要がある場合は(必ずしも良いことではありませんが、Chromeは自動アップデートと混同されますが、storage.sync
テストの間は良いアイデアです)、新しい情報公開key
を開発者ダッシュボードから「詳細情報"あなたの商品のリンク。
しかし、CWSから.pem
キーを取得する方法はありません。あなたはCWSに自動更新ソースとして永久にロックされています。 Chromeは拡張機能のインストールを他の場所から許可しないため、問題はありません。
秘密鍵の保持制御。
「拡張パック」機能を使用して、chrome://extensions
から拡張子のCRXファイルを生成できます。
既存の.pem
ファイルを指定しないと、拡張機能の新しい鍵ペア(ID)が生成されます。
.pem
キーを守るために、あなたの人生は慎重ににしてください。これは、あなたが開発者として偽装するために使用されます。
次に、CWSに内線番号を提出すると、include the .pem
in the archive's root as key.pem
となります。これは、新しい鍵ペアを生成する代わりに、CWSに使用を指示します。署名する前に拡張機能を変更するため、秘密鍵をGoogleに提供する必要があります。
IDは(ランダムに生成された)公開鍵のハッシュであるため、という小さなの既存の内線との衝突の可能性があります。その場合は、.pem
ファイルを別のファイルに再生成してください。いずれの場合においても
:アップロード時にマニフェストにkey
フィールドを含まない、またはCWSは、それを拒否することができます。
また、エクステンション内の内線番号をハードコードしないでください。これは、それらの機能のいずれかを使用してアクセス可能です:
chrome.runtime.getManifest().id // gives "youridehere"
chrome.runtime.getURL("something") // gives "chrome-extension://youridhere/something"
そして、CSSファイルで、あなたがマクロとして[email protected]@extension_id__
を使用することができます。
background-image:url('chrome-extension://[email protected]@extension_id__/background.png');
出典
2016-05-19 08:53:04
Xan
「CWSから.pemキーを取得する方法はありません」と私の質問に答えました。情報をありがとう! – cxw