看板 Soft_Job 關於我們 聯絡資訊
※ 引述《qazsd (珍惜當下)》之銘言: : 藉助一下軟體版廣大的人氣,請問板上前輩們 : 小弟有Maven專案資料夾結構如下: : Project : ├src/main/java : │ └ com.abc.xyz : │ └Auth.java : └src/main/resources : └certs : └credential.p12 : Auth.java裡有段程式碼用來驗證: : ===================================================================== : File file = new File(classLoader.getResource("cert.p12").getFile()); : String filePath = file.getAbsolutePath(); : GoogleCredential credential = new GoogleCredential.Builder() : .setTransport(httpTransport) : .setJsonFactory(JSON_FACTORY) : .setServiceAccountId(SERVICE_ACCOUNT_EMAIL) : .setServiceAccountScopes(Collections.singleton( : CalendarScopes.CALENDAR_READONLY)) : .setServiceAccountPrivateKeyFromP12File(new File(filePath)) : .setServiceAccountUser(SERVICE_ACCOUNT_USER) : .build(); : ===================================================================== : 將該專案檔的jar部署到Server上後 : 會出現找不到credential檔案的錯誤訊息 : 想請問credential檔案應該放在專案或server哪裡才能被找到? : 又該怎麼指定路徑呢? 你無法直接存取包在 zip 內的檔案,File 物件不是這樣給你用的。 有 2 個選擇,1 個是把它解開來,存成檔案,另一個是轉成 private key, 再呼叫另 method http://bit.ly/2wxy7qH public GoogleCredential.Builder setServiceAccountPrivateKey(PrivateKey serviceAccountPrivateKey) ----------------------------------------------------------------------------- 那麼,可以寫成這樣的 method,直接由 classloader 把 resource 抓出來, 轉成 PrivateKey 給它吃: public static PrivateKey loadKeyFromPkcs12() throws Exception { char[] password = "notasecret".toCharArray(); try (InputStream input = Auth.class.getResourceAsStream( "/certs/credential.p12")) { KeyStore ks = KeyStore.getInstance("PKCS12"); ks.load(input, password); return (PrivateKey) ks.getKey("privatekey", password); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.21.157.223 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1504521383.A.702.html ※ 編輯: qrtt1 (211.21.157.223), 09/04/2017 18:36:52
lovelycateye: 有神快拜! 09/04 19:00
pttuser: 這不過是reflection應用,還神咧笑死狼,一堆菜逼巴 09/04 20:15
senjor: 佛心還不神嗎? 09/04 20:19
qazsd: 先感謝qrtt1大大!! 09/04 21:04
vi000246: 佛心推 09/04 21:16
femlro: 總比只會酸的強^^ 09/04 22:30
femlro: 神 09/04 22:30
jj0321: 超神 09/04 22:31
femlro: 本板會分享會幫助別人的 就是神一般的存在 09/04 22:33
femlro: 神永遠不嫌多 酸酸一個都嫌太多 09/04 22:34
jj0321: 真的QQ 每次有位JSON大大發教學文 都會被特定酸給酸 09/04 22:35
home2618: 推2樓 09/04 23:46
pttworld: 把主管捧成神比較實際,很多人當面卻開不了口 09/05 00:07
wildli0422: 推有心 09/05 09:29
maxqq: haha → femlro: 神永遠不嫌多 酸酸一個都嫌太多 09/05 10:29
mathrew: 分享是好事 不需要酸 09/06 07:24
c85645: 推一個 09/06 19:38
chifangjang: 推 09/07 08:18