<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>keystore &#8211; 記下來</title>
	<atom:link href="https://noter.tw/tag/keystore/feed/" rel="self" type="application/rss+xml" />
	<link>https://noter.tw</link>
	<description>一路上踩到的坑、遇到的問題，一點一滴記下來，希望能幫助到需要的人~</description>
	<lastBuildDate>Tue, 02 Jul 2019 05:44:27 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.3</generator>

<image>
	<url>https://noter.tw/wp-content/uploads/cropped-old-1130742_1920-1-32x32.jpg</url>
	<title>keystore &#8211; 記下來</title>
	<link>https://noter.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Android使用Facebook SDK(申請篇)</title>
		<link>https://noter.tw/1921/android%e4%bd%bf%e7%94%a8facebook-sdk%e7%94%b3%e8%ab%8b%e7%af%87/</link>
					<comments>https://noter.tw/1921/android%e4%bd%bf%e7%94%a8facebook-sdk%e7%94%b3%e8%ab%8b%e7%af%87/#comments</comments>
		
		<dc:creator><![CDATA[黃小蛙]]></dc:creator>
		<pubDate>Fri, 03 Feb 2012 12:30:24 +0000</pubDate>
				<category><![CDATA[手機 App]]></category>
		<category><![CDATA[網頁前端]]></category>
		<category><![CDATA[keystore]]></category>
		<category><![CDATA[keytool]]></category>
		<category><![CDATA[key hash]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Android]]></category>
		<guid isPermaLink="false">http://wazai.net/?p=1921</guid>

					<description><![CDATA[<p>Facebook在每個人的生活中占的比例已經越來越高，有很多不論是網站或是APP為了達到分享及快速散步的目的而紛紛加入「分享到Facebook」的功能(好玩的東西當然要跟FB上面的好朋友分享囉！)，這&#46;&#46;&#46;</p>
<p>這篇文章 <a rel="nofollow" href="https://noter.tw/1921/android%e4%bd%bf%e7%94%a8facebook-sdk%e7%94%b3%e8%ab%8b%e7%af%87/" data-wpel-link="internal">Android使用Facebook SDK(申請篇)</a> 最早出現於 <a rel="nofollow" href="https://noter.tw" data-wpel-link="internal">記下來</a>。</p>
]]></description>
										<content:encoded><![CDATA[<p>Facebook在每個人的生活中占的比例已經越來越高，有很多不論是網站或是APP為了達到分享及快速散步的目的而紛紛加入「分享到Facebook」的功能(好玩的東西當然要跟FB上面的好朋友分享囉！)，這篇文章記錄怎麼申請Facebook API Key。<br />
<span id="more-1921"></span><br />
首先到<a href="http://developers.facebook.com/" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">http://developers.facebook.com/<span class="wpel-icon wpel-image wpel-icon-6"></span></a>建立一個新的應用程式，第一次使用可能會需要手機號碼或一些其他認證，註冊部分請參考<a href="http://wazai.net/?p=1197" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">在 WordPress 使用 Facebook 留言板 (Facebook Social Plugins Comments)@蛙齋<span class="wpel-icon wpel-image wpel-icon-6"></span></a>。<br />
註冊完成也建立了新的應用程式之後進入主畫面，點選右上角的「編輯設定」，最下方有個「Native Android App」旁邊要使用者輸入「Android Key Hash」，接下來小蛙記錄一下怎麼產生這個Android Key Hash。這邊小蛙建議一次就先把兩組Key Hash產生好，平常開發時的debugkey以及正式發布時用的.keystore。</p>
<ol>
<li>產生Facebook Key Hash需要使用到OpenSSL這個工具，可以先到<a href="http://gnuwin32.sourceforge.net/packages/openssl.htm" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">OpenSSL for Windows<span class="wpel-icon wpel-image wpel-icon-6"></span></a>下載<a href="http://downloads.sourceforge.net/gnuwin32/openssl-0.9.8h-1-bin.zip" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">Binaries Zip<span class="wpel-icon wpel-image wpel-icon-6"></span></a>這個版本。</li>
<li>解壓縮後把 openssl-0.9.8h-1-bin\bin\openssl.exe 複製到C:\Documents and Settings\Hans\.android\debug.keystore(也可以複製到其他地方，只是openssl小蛙只會在這使用到，所以直接放這邊)。</li>
<li>點選開始 -&gt; 執行 -&gt; 輸入「cmd」-&gt; 輸入「cd C:\Documents and Settings\Hans\.android\」(找到debugkey的位置)，如果這邊不知道在哪的話，可以到Eclipse -&gt; Preferences -&gt; Android -&gt; Build -&gt; Default debug keystore 中找到。</li>
<li>輸入以下指令
<pre class="brush: bash; gutter: true">keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64
輸入金鑰儲存庫密碼: android</pre>
<p>相關資訊如下：<br />
Keystore name: &#8220;debug.keystore&#8221;<br />
Keystore password: &#8220;android&#8221;<br />
Key alias: &#8220;androiddebugkey&#8221;<br />
Key password: &#8220;android&#8221;<br />
CN: &#8220;CN=Android Debug,O=Android,C=US&#8221;</li>
<li>產生一段類似「egv25u/dcaukos35ac44e43ada4=」的Key，複製起來貼在上面提到的「Android Key Hash」中，點選最下方儲存。</li>
</ol>
<p>這樣就完成debug key的設定了，自己用來簽署的keystore設定方式也是相同，只要把-alias androiddebugkey以及-keystore debug.keystore更換成自己的設定即可。</p>
<p>這篇文章 <a rel="nofollow" href="https://noter.tw/1921/android%e4%bd%bf%e7%94%a8facebook-sdk%e7%94%b3%e8%ab%8b%e7%af%87/" data-wpel-link="internal">Android使用Facebook SDK(申請篇)</a> 最早出現於 <a rel="nofollow" href="https://noter.tw" data-wpel-link="internal">記下來</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://noter.tw/1921/android%e4%bd%bf%e7%94%a8facebook-sdk%e7%94%b3%e8%ab%8b%e7%af%87/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
			</item>
		<item>
		<title>簽署你的Android應用程式(.keystore)</title>
		<link>https://noter.tw/1916/%e7%b0%bd%e7%bd%b2%e4%bd%a0%e7%9a%84android%e6%87%89%e7%94%a8%e7%a8%8b%e5%bc%8f-keystore/</link>
					<comments>https://noter.tw/1916/%e7%b0%bd%e7%bd%b2%e4%bd%a0%e7%9a%84android%e6%87%89%e7%94%a8%e7%a8%8b%e5%bc%8f-keystore/#comments</comments>
		
		<dc:creator><![CDATA[黃小蛙]]></dc:creator>
		<pubDate>Fri, 03 Feb 2012 11:00:39 +0000</pubDate>
				<category><![CDATA[手機 App]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[apk]]></category>
		<category><![CDATA[command not found]]></category>
		<category><![CDATA[keystore]]></category>
		<category><![CDATA[keytool]]></category>
		<category><![CDATA[sign]]></category>
		<category><![CDATA[Java]]></category>
		<guid isPermaLink="false">http://wazai.net/?p=1916</guid>

					<description><![CDATA[<p>一般在開發Android軟體的時候，會使用預設的debugkey來做簽署動作，當app要上market時就必須要產生一個專用的簽署檔案(.keystore)，沒有辦法再繼續使用debugkey。這篇文&#46;&#46;&#46;</p>
<p>這篇文章 <a rel="nofollow" href="https://noter.tw/1916/%e7%b0%bd%e7%bd%b2%e4%bd%a0%e7%9a%84android%e6%87%89%e7%94%a8%e7%a8%8b%e5%bc%8f-keystore/" data-wpel-link="internal">簽署你的Android應用程式(.keystore)</a> 最早出現於 <a rel="nofollow" href="https://noter.tw" data-wpel-link="internal">記下來</a>。</p>
]]></description>
										<content:encoded><![CDATA[<p>一般在開發Android軟體的時候，會使用預設的debugkey來做簽署動作，當app要上market時就必須要產生一個專用的簽署檔案(.keystore)，沒有辦法再繼續使用debugkey。這篇文章記錄怎麼產生.keystore。<br />
<span id="more-1916"></span><br />
其實網路上有很多分享或很多Android相關書籍都寫得很詳細，這篇文章小蛙記錄一下，免得每次要產生的時候都還要google(<a href="http://developer.android.com/guide/publishing/app-signing.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">官方文件<span class="wpel-icon wpel-image wpel-icon-6"></span></a>有很詳細的說明)。產生keystore必須透過Java的<span style="color: #ff0000;"><strong>keytool</strong></span>工具，以下對keytool的解釋節錄自<a href="http://ssl.wis.com.tw/guide/faq_keytool.asp" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">Keytool工具介紹@匯智<span class="wpel-icon wpel-image wpel-icon-6"></span></a>：</p>
<blockquote><p>&#8230;<br />
Keytool 是一個有效的安全鑰匙和憑證的管理工具. 它能夠使用戶使用數位簽名來管理他們自己的私有/公共鑰匙對,管理用來作自我鑒定的相關的憑證,管理資料完整性和鑒定服務.它還能使用戶在通信時緩存它們的公共鑰匙.<br />
&#8230;</p></blockquote>
<p>產生的方法很簡單，只要照著貼就可以了。</p>
<pre class="brush: bash; gutter: true">keytool -genkey -v -keystore rdss.keystore -alias rdss -keyalg RSA -keysize 2048 -validity 10000</pre>
<p>如果這邊出現「<span style="color: #ff0000;"><strong>keytool: command not found</strong></span>」，請把$JAVA_HOME\bin加入環境變數$PATH中，或是直接到$JAVA_HOME\bin\目錄下執行keytool，例如小蛙的環境是C:\Program Files\Java\jdk1.7.0_02\bin，就先cd C:\Program Files\Java\jdk1.7.0_02\bin之後開始輸入上面的指令。<br />
將上述指令<strong>-keystore</strong> rdss.keystore以及<strong>-alias</strong> rdss中的rdss改成自己要的名字，其他東西照著貼上就好，<strong>-validity</strong>官方說明文件建議設定10000以上的值(指令細節可參考<a href="http://developer.android.com/guide/publishing/app-signing.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">官方文件<span class="wpel-icon wpel-image wpel-icon-6"></span></a>)。</p>
<pre>輸入金鑰儲存庫密碼: mykeystorepassword
重新輸入新密碼: mykeystorepassword
您的名字與姓氏為何？
&nbsp; [Unknown]:&nbsp; Hans
您的組織單位名稱為何？
&nbsp; [Unknown]:
您的組織名稱為何？
&nbsp; [Unknown]:
您所在的城市或地區名稱為何？
&nbsp; [Unknown]:&nbsp; Taipei
您所在的州及省份名稱為何？
&nbsp; [Unknown]:&nbsp; Taiwan
此單位的兩個字母國別代碼為何？
&nbsp; [Unknown]:&nbsp; TW
CN=Hans, OU=Unknown, O=Unknown, L=Taipei, ST=Taiwan, C=TW 正確嗎？
&nbsp; [否]:&nbsp; Y
針對 CN=Hans, OU=Unknown, O=Unknown, L=Taipei, ST=Taiwan, C=TW 產生有效期 10,000
&nbsp;天的 2,048 位元 RSA 金鑰組以及自我簽署憑證 (SHA256withRSA)
輸入 &lt;rdss&gt; 的金鑰密碼
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (RETURN 如果和金鑰儲存庫密碼相同):
新憑證 (自我簽署):
...
[儲存 rdss.keystore]</pre>
<p>密碼千萬要記牢，小蛙在開發照照明星臉的時候就是忘了密碼，花了兩天的時間把所有可能的密碼都試過一次才終於式出來&gt;&lt;(前後兩個基本上用一樣的密碼就好了，免得忘記)，完成後可以看到在執行keytool的目錄下出現了一個剛剛設定的「rdss.keystore」，如此一來就完成自己的簽署檔案囉！<br />
接下來簽署的動作可以直接透過Eclipse工具來完成，到要匯出的專案上點選滑鼠右鍵-&gt; Adroid Tools -&gt; Export Signed Application Package&#8230;<br />
<a href="https://lh4.googleusercontent.com/-aqTbkQ8lHGo/Tyt72FwMQwI/AAAAAAAAEEQ/niCKSWmVgkw/s400/sign-1.png" target="_blank" rel="noopener nofollow external noreferrer" data-wpel-link="external"><img fetchpriority="high" decoding="async" class="alignnone" title="簽署APK" src="https://lh4.googleusercontent.com/-aqTbkQ8lHGo/Tyt72FwMQwI/AAAAAAAAEEQ/niCKSWmVgkw/s400/sign-1.png" alt="sign 1 簽署你的Android應用程式(.keystore)" width="400" height="130"></a><br />
選擇要匯出的專案<br />
<a href="https://lh6.googleusercontent.com/-b4jOlX0F4_c/Tyt72FHOlqI/AAAAAAAAEEM/B7TreySbz2o/s800/sign-2.png" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external"><img decoding="async" class="alignnone" title="簽署APK" src="https://lh6.googleusercontent.com/-b4jOlX0F4_c/Tyt72FHOlqI/AAAAAAAAEEM/B7TreySbz2o/s800/sign-2.png" alt="sign 2 簽署你的Android應用程式(.keystore)" width="475"></a><br />
選取剛剛產生的.keystore檔案，並且輸入密碼。<br />
<a href="https://lh3.googleusercontent.com/-KHyqnQl2VcU/Tyt72P0zVqI/AAAAAAAAEEI/-4ZpJ4C2X44/s800/sign-3.png" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external"><img decoding="async" class="alignnone" title="簽署APK" src="https://lh3.googleusercontent.com/-KHyqnQl2VcU/Tyt72P0zVqI/AAAAAAAAEEI/-4ZpJ4C2X44/s800/sign-3.png" alt="sign 3 簽署你的Android應用程式(.keystore)" width="475"></a><br />
選擇alias，並輸入密碼。<br />
<a href="https://lh5.googleusercontent.com/-0wXO5pLqWlU/Tyt72_FGR6I/AAAAAAAAEEU/mjgGwiMNElg/s800/sign-4.png" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external"><img decoding="async" class="alignnone" title="簽署APK" src="https://lh5.googleusercontent.com/-0wXO5pLqWlU/Tyt72_FGR6I/AAAAAAAAEEU/mjgGwiMNElg/s800/sign-4.png" alt="sign 4 簽署你的Android應用程式(.keystore)" width="475"></a><br />
設定APK產生的位置，大功告成。<br />
<a href="https://lh4.googleusercontent.com/-h8xSz_HdWZE/Tyt73M3sViI/AAAAAAAAEEc/oQv7-gjusD0/s800/sign-5.png" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external"><img decoding="async" class="alignnone" title="簽署APK" src="https://lh4.googleusercontent.com/-h8xSz_HdWZE/Tyt73M3sViI/AAAAAAAAEEc/oQv7-gjusD0/s800/sign-5.png" alt="sign 5 簽署你的Android應用程式(.keystore)" width="475"></a><br />
產生出來的RDSS.apk就可以直接上傳到market囉！</p>
<p>這篇文章 <a rel="nofollow" href="https://noter.tw/1916/%e7%b0%bd%e7%bd%b2%e4%bd%a0%e7%9a%84android%e6%87%89%e7%94%a8%e7%a8%8b%e5%bc%8f-keystore/" data-wpel-link="internal">簽署你的Android應用程式(.keystore)</a> 最早出現於 <a rel="nofollow" href="https://noter.tw" data-wpel-link="internal">記下來</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://noter.tw/1916/%e7%b0%bd%e7%bd%b2%e4%bd%a0%e7%9a%84android%e6%87%89%e7%94%a8%e7%a8%8b%e5%bc%8f-keystore/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
