ニュース » mixiアプリ » mixiアプリスマートフォン版(旧方式)の公開鍵更新手順について
mixiアプリスマートフォン版(旧方式)の公開鍵更新手順について
2012.05.22 mixiアプリ
先日こちらにてお伝えさせて頂いております公開鍵の更新に関してですが、交換手順をまとめましたので、お知らせいたします。以下をご参照いただき、開発されたmixiアプリにてご対応いただきますよう、お願いいたします。
弊社サーバでの鍵交換作業は、2012年6月11日を予定しております。6月11日以降は、全ての署名付きリクエストにて新しい鍵が適用されることになります。急なお願いとなってしまい大変申し訳ございませんが、対応漏れのないよう修正作業の程お願いいたします。
SAPサーバへのリクエストの検査で使用する公開鍵の更新について
mixiアプリスマートフォン版では、スタートURLへのアクセス時に送信されるリクエストに署名が付与されています。この署名付きリクエストを利用することにより、リクエスト内容の改ざんを検知することができます。
アクセスユーザの取得とOAuth Signatureの検証 – mixi Developer Center
http://developer.mixi.co.jp/appli/spec/touch/getting_userid_and_verify_signature/
署名の検証には、mixi Developer Centerにて掲載されている公開鍵を使用することになりますが、mixiアプリスマートフォン版(旧方式)にて、今まで使用してきた鍵の有効期限が、2012年6月13日16時18分01秒までとなります。そのため、鍵の交換を行うことが必要です。この交換に関する手順として、弊社サーバでの鍵の入れ替えに加えて、署名付きリクエストの送信先サーバに関しても対応が必要となりますので、そのための手順を以下に説明いたします。
※ 本ページ内の日時は、全てJST(GMT+09:00)です。
手順の概要
新しい鍵への交換のための手順の概要は、以下となります。
- mixi Developer Centerに掲載されている新しい公開鍵を入手します。
- xoauth_signature_publickeyパラメータ値に応じて、使用する公開鍵を切り替えて署名を検証するように、アプリ側サーバのプログラムを変更します。
- 弊社側サーバにて、使用する鍵を変更します。アプリ側サーバに新しい鍵で作られた署名が送信されます。
新しい公開鍵
新しい公開鍵は、以下となります。この公開鍵は、mixiアプリスマートフォン版(新方式)と同じ物になります。この公開鍵の有効期限は、2014年03月06日までとなります。
-----BEGIN CERTIFICATE----- MIIDfDCCAmSgAwIBAgIJAPCOKGmS80liMA0GCSqGSIb3DQEBBQUAMDIxCzAJBgNV BAYTAkpQMREwDwYDVQQKEwhtaXhpIEluYzEQMA4GA1UEAxMHbWl4aS5qcDAeFw0x MjAzMDYwNTUyNDNaFw0xNDAzMDYwNTUyNDNaMDIxCzAJBgNVBAYTAkpQMREwDwYD VQQKEwhtaXhpIEluYzEQMA4GA1UEAxMHbWl4aS5qcDCCASIwDQYJKoZIhvcNAQEB BQADggEPADCCAQoCggEBAKRlzE+PM5zdIGF4Qzg6mRlXEz0zh+sKjIIQsKk5WMZR XmjQDSVhiQupzrbd3YQbntwQTZNOsTIjH32O4i0+2zf81r7AClh3fWIAY9RDXajn Mdk4QamkdFnqEgW29cb9GMVUSmMNcCL92mPgCApmg1GPob8hqNnKe4PN3paQu49k Nagrc5jZDrwXcGgWPiA2CdWMwptXtggnVQR9thchTJ14s8pwRCcxLLWcFONwoGOl vXKcg82E8JhpGcaJ8BHS3sWWONDDtnkdIr0vVgh9Rzgw50M/GhJBQaDk17lyHbBe TFnCtc9Eq76QZXRx8Z1uH2HtuhHmZVA7+JR9YDKZwkkCAwEAAaOBlDCBkTAdBgNV HQ4EFgQUM4Jg7VVSwoN/ioj866p2j2pvq1gwYgYDVR0jBFswWYAUM4Jg7VVSwoN/ ioj866p2j2pvq1ihNqQ0MDIxCzAJBgNVBAYTAkpQMREwDwYDVQQKEwhtaXhpIElu YzEQMA4GA1UEAxMHbWl4aS5qcIIJAPCOKGmS80liMAwGA1UdEwQFMAMBAf8wDQYJ KoZIhvcNAQEFBQADggEBAGPOXB/JDjWtuOBz4RUWlBUw60OCfsUThaE0+fYy8FV0 MVlItYb0Nw0qU70Hfmg3VUfrcMSBfqj8vhbrQGq1VT7GAIDyly5jp4j5upA+Qeon 5SuHTBGg837KbLCVG3UHgB40s+TphTmI74W9tzCjEseAztwx1B+TzUCIzAbWnMmk 0favUduE0AjAEIm8bjC7M59n+dUjq5n9IEDZkXsBxIdxn2E1Gd8aTVnmpoNQUJlL JWW16dbxFhPE7UBBvnKAThDjdI0NFgR/DkUcfyi9E2s6MKvbrR/TSJXzci6qSiWg yMWRfuiI8ovJcqvfeUqxlKlzXeMA5Mx9tx+k6Qw2ZeQ= -----END CERTIFICATE-----
xoauth_signature_publickey
鍵の交換に合わせて、どの鍵を使って署名を生成しているかを判断するために、xoauth_signature_publickey値が Authorizationリクエストヘッダに追加されます。この値として、鍵の交換後は"app_touch_20120306"が送信されます。
今回の鍵交換の対応として、このxoauth_signature_publickeyの有無と値により、使用する公開鍵を決定する処理を追加すると良いでしょう。
交換後に追加されるxoauth_signature_publickeyパラメータの値は、以下のようになります。
- 交換後: "app_touch_20120306"
また、署名を付与するためのoauth_signatureパラメータ値に関しては、以下となります。
- 交換前: 古い鍵で生成された署名文字列
- 交換後: 新しい鍵で生成された署名文字列
事前テスト方法
新しい鍵を使ったテストを行うことができます。run_appli.plページを表示する際に、「shindig_beta=1」というパラメータを追記することで、新しい鍵が使われた署名つきリクエストが送信されます。これと同時に、xoauth_signature_publickeyパラメータ値に関しても、"app_touch_20120306"という値が送信されます。
これにより、署名つきリクエストを受信するプログラムの修正確認を行うことが可能です。
スケジュール
公開鍵の交換に関するスケジュールは、以下となります。
- 新しい公開鍵の掲載: 2012年5月22日
- 新しい鍵への交換: 2012年6月11日