2014-10-09 17 views
2

在下面的輸出中,我被問到是否信任證書,在Glassfish 4.0中我沒有被問到這個問題。如果我回答是,那麼它仍然會失敗,可以看出。爲什麼Glassfish 4.1中的這個證書錯誤?

我從asadmin start-domain開始,然後在此測試中將管理員密碼更改爲x。我改變密碼asadmin --user admin change-admin-passwordasadmin enable-secure-admin

這是錯誤:

Do you trust the above certificate [y|N] -->y 
Authentication failed for user: admin (Usually, this means invalid user name and/or password) 
Command change-admin-password failed. 

問題

有誰知道爲什麼Glassfish的4.1問起這個證書,我怎樣才能使它工作,因爲我不能即使登錄這是一個成功的結局。

Waiting for domain1 to start ....... 
Successfully started the domain : domain1 
domain Location: /opt/glassfish4/glassfish/domains/domain1 
Log File: /opt/glassfish4/glassfish/domains/domain1/logs/server.log 
Admin Port: 4848 
Command start-domain executed successfully. 
=> Modifying password of admin to preset in Glassfish 
spawn asadmin --user admin change-admin-password 
Enter the admin password> 
Enter the new admin password> 
Enter the new admin password again> 
[ 
[ 
    Version: V3 
    Subject: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US 
    Signature Algorithm: SHA256withRSA, OID = 1.2.840.113549.1.1.11 

    Key: Sun RSA public key, 2048 bits 
    modulus: 19016962123073818913980587828837922486576420141613590721707437891327039833432551153803083906839156766507774007880420863368627703049499522525030078369904284618227297420407350669314980277911425446307700835083768858763078579295691981047129695516569551334653620772195238596206551972125661803284768176221481772121528672632308667324875827891801774801031021244005840124791813739105291627626830463412652100947239506418948577875286315103270404232934705194347849152036735770668664880970935638976368368387912487716546355239785885758256691359924727187516306879956018711242524702651771632411566014598382402754461656354400636380993 
    public exponent: 65537 
    Validity: [From: Thu Aug 21 13:30:10 UTC 2014, 
       To: Sun Aug 18 13:30:10 UTC 2024] 
    Issuer: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US 
    SerialNumber: [ 31eb8d9f] 

Certificate Extensions: 1 
[1]: ObjectId: 2.5.29.14 Criticality=false 
SubjectKeyIdentifier [ 
KeyIdentifier [ 
0000: 13 55 DB 7D A9 31 71 A3 33 40 56 D3 49 A9 77 42 [email protected] 
0010: 90 A3 59 39          ..Y9 
] 
] 

] 
    Algorithm: [SHA256withRSA] 
    Signature: 
0000: 07 E5 F1 96 38 CE 55 33 1C 65 A5 5A 38 90 EB 98 ....8.U3.e.Z8... 
0010: 59 A1 AE 19 5F BF 5F 53 BE CF 36 54 2F 03 5D 5E Y..._._S..6T/.]^ 
0020: 9D 21 3C DC CC C9 A1 5E E0 0B 71 31 36 CE 3A DB .!<....^..q16.:. 
0030: BB 78 40 ED 5B FB 0A F0 E6 01 5A C3 29 CD 0B E1 [email protected][.....Z.)... 
0040: A1 0D A9 99 ED D8 28 78 DA 1B 2F 15 25 46 85 D8 ......(x../.%F.. 
0050: B3 8F E7 79 0F EF 37 6A 55 06 E0 2D 0C 67 F3 60 ...y..7jU..-.g.` 
0060: 46 AB C2 F5 AC 70 5E 9F 3C EF E3 33 61 34 C4 F9 F....p^.<..3a4.. 
0070: CB 5A 83 10 82 E5 DA F3 15 1D 28 B2 F9 DE 53 F0 .Z........(...S. 
0080: 10 72 79 48 BA B4 AC EC 49 16 92 D8 A6 48 B5 A7 .ryH....I....H.. 
0090: 3A 6F 37 15 02 F4 66 66 94 8C 82 2C 57 7A 45 04 :o7...ff...,WzE. 
00A0: 33 31 F6 9B 7C 6A 04 B0 0A 01 8E 8E B9 31 9E 9A 31...j.......1.. 
00B0: AC 53 F7 CB 38 F6 E5 DB 86 FF F2 D8 39 77 34 47 .S..8.......9w4G 
00C0: 5F 7F EC F3 37 79 08 EB 59 B5 90 3F D9 7E E8 70 _...7y..Y..?...p 
00D0: C3 F4 DD 17 EC B4 19 D0 08 26 7E CB 64 46 17 B8 .........&..dF.. 
00E0: 08 D8 A7 99 1E CF F1 2B 79 86 F1 22 6F C4 05 94 .......+y.."o... 
00F0: E1 4F E1 64 E4 F0 47 8D 95 95 08 4F FE F9 60 E4 .O.d..G....O..`. 

] 
Do you trust the above certificate [y|N] -->y 
Authentication failed for user: admin (Usually, this means invalid user name and/or password) 
Command change-admin-password failed. 
=> Enabling secure admin login 
spawn asadmin enable-secure-admin 
Enter admin user name> admin 
Enter admin password for user "admin"> 
Authentication failed for user: admin 
(Usually, this means invalid user name and/or password) 
Command enable-secure-admin failed. 
=> Done! 
======================================================================== 
You can now connect to this Glassfish server using: 

    admin:x 

Please remember to change the above password as soon as possible! 
======================================================================== 
=> Restarting Glassfish server 
Waiting for the domain to stop . 
Command stop-domain executed successfully. 
=> Starting and running Glassfish server 

回答

3
Subject: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US 
    ... 
    Issuer: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US 

它的自簽名證書。你必須建立信任。將其加載到信任庫中。

使用Chrome時,您不能將其加載到信任存儲中。證書必須由CA簽名。可以創建自己的CA來執行此操作,但必須由授權機構簽署。

Version: V3 
    Subject: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US 
    Signature Algorithm: SHA256withRSA, OID = 1.2.840.113549.1.1.11 
    ... 

不要把DNS名稱,如localhost的通用名稱(CN)。它已被IETF和CA /瀏覽器論壇棄用。相反,在CN中輸入一個友好名稱,如「Oracle Corporation」。由於它顯示給用戶,因此您在其中輸入了一個友好名稱。

將DNS名稱放在主題備用名稱(SAN)中。 IETF和CA /瀏覽器論壇都將DNS名稱指定到SAN中。

對於接受證書而言,Chrome是最嚴格的。我相信最新的Java是相似的。如果您使用Chrome 您在CN中放置了一個DNS名稱,那麼您的必須在處將相同的DNS名稱放在SAN中。因此無法避免在SAN中放置DNS名稱。

Chrome不允許使用自簽名證書。它要求服務器的證書由CA簽名(即不能自簽名)。可以使用未預先加載到公共CA Zoo中的專用CA進行簽名。只需將CA添加到您的瀏覽器。或者獲得由CA卡特爾成員簽名的服務器證書(Startcom提供免費的1類證書)。

+0

學習這些東西非常有趣!在這種情況下,儘管在我對證書說「是」的時候出現了錯誤。我已經更新了OP。 – 2014-10-10 13:03:53

+0

有沒有辦法添加由CA簽名的不同證書? – 2017-11-30 20:29:14

2

我知道這篇文章比較陳舊,但是我也在嘗試創建一個Docker容器來安裝Glassfish 4.1.1服務器並在之後部署應用程序時也遇到了類似的問題。每當出現「您信任上述證書」對話框時,Dockerfile腳本都會停止。也許我可以用我的下列指示幫助別人。

You have to establish trust for it. Load it in a trust store.

在jww寫完這些句子之後我開始尋找一個合適的信任存儲。我發現運行asadmin命令的本地用戶在~/.gfclient/truststore

有一個專門的信任存儲如果要防止顯示此對話框,您必須將glassfish證書添加到您當地的glassfish信任庫中。我假設在您使用的域爲下面的說明,你使用的是默認證書s1as

  1. keytool -export -alias s1as -file /tmp/s1as.cert -keystore /path/to/glassfish/domains/domain1/config/keystore.jks
  2. keytool -import -alias s1as -file /tmp/s1as.cert -keystore ~/.gfclient/truststore

本地GlassFish的信任存儲的默認密碼是changeit。之後,你不應該再次問你是否相信這個glassfish連接。