התקנת תעודה עבור Java: הבדלים בין גרסאות בדף

מתוך ויקי נטפרי
קפיצה לניווט קפיצה לחיפוש
 
(29 גרסאות ביניים של 5 משתמשים אינן מוצגות)
שורה 6: שורה 6:
  
  
'''עדכון: בתאריך כ"ח ניסן תשע"ט / 3 במאי 2019, יצאה [[התקנת תעודה נפוצה|תוכנה חדשה להתקנת התעודה בווינדוס]], התוכנה החדשה מתקינה את התעודה אוטומטית גם עבור סביבת ההרצה של Java'''
+
{{תיבת מידע|עדכון: בתאריך כ"ח ניסן תשע"ט / 3 במאי 2019, יצאה [[התקנת תעודה נפוצה|תוכנה חדשה להתקנת התעודה בווינדוס]], התוכנה החדשה מתקינה את התעודה אוטומטית גם עבור סביבת ההרצה של Java}}
  
  
שורה 16: שורה 16:
  
 
הורידו את תעודת האבטחה של הספק הנוכחי דרכו אתם מחוברים מכאן: https://netfree.link/netfree-ca.crt
 
הורידו את תעודת האבטחה של הספק הנוכחי דרכו אתם מחוברים מכאן: https://netfree.link/netfree-ca.crt
 +
{{Bootstrap alert-info|
 +
אם אתם גולשים על רשת של ספק RL שימו לב להוריד את התעודות מהקישורים המופיעים במדריך [[עדכון תעודת אבטחה בספק אר אל|כאן]].
 +
}}
  
במערכות windwows, במקרה שהתקנתם את תוכנת ההתקנה של תעודת האבטחה, התעודה כבר קיימת במיקום הבא:
+
=== מערכות windwos ===
 +
'''אפשרות א'''' <br>
 +
יש להיכנס לקישור הזה - https://netfree.link/welcome/#/installations/certificate <br>
 +
ללחוץ על הגדרות מתקדמות
 +
וב'כתובת מחלקת JAVA במחשב שלכם'  יש להכניס את הנתיב הרצוי<br>
 +
[[קובץ:כתובת_לג'אווה.png]]<br>
 +
הנתיב אמור להיות נתיב של ספריית ג'אווה שבתוכה יש תיקיית bin ששם יש את ה java.exe <br>
 +
לדוגמא: C:\Program Files\Android\Android Studio\jbr\<br>
 +
ניתן לכלול את כל המיקומים של ג'אווה '''בכונן C''' ע"י הקלדת כוכבית ב'כתובת מחלקת JAVA במחשב שלכם'<br>
 +
 
 +
[[קובץ:כתובת_לספריות_ג'אווה.png]]<br><br>
 +
 
 +
'''חשוב'''! [וזו גם דוגמא נוספת לשימוש בהגדרות המתקדמות].<br>
 +
 
 +
במקרה והכונן שבו ממוקמת התוכנה הוא לא כונן C. צריך להכניס בהגדרות מתקדמות את הנתיב המלא לתיקייה שבה ממוקמים קבצי הג'אווה.<br>
 +
לדוגמא - הורדתם Eclipse ותיקיית ההורדות ממוקמת בכונן D ואתם מפעילים את התוכנה בלי להעביר את הקבצים למיקום אחר, מכניסים בהגדרות מתקדמות:<br>
 +
<pre>
 +
D:\הורדות\eclipse-inst-jre-win64\plugins\org.eclipse.justj.openjdk.hotspot.jre.minimal.stripped.win32.x86_64_21.0.4.v20241003-1226\jre
 +
</pre>
 +
שימו לב שבמקרה כזה המתקין לא יחפש בכל כונן C כמו במקרה הקודם שסימנתם כוכבית, אלא המתקין יתקין - בנוסף להתקנות ברירת מחדל - רק בנתיב המפורש שהכנסתם. <br>
 +
יש לציין שההתקנה בדרך הזו רלוונטית גם במקרה שבו התוכנה כן ממוקמת בכונן C: ואתם יודעים במדוייק את המיקום שבו צריך להתקין ולא רוצים להתעכב ולהתקין בכל התיקיות בכונן C: - מכניסים את הנתיב המלא הרלוונטי ומתקינים רק בתיקייה הזו. <br>[בנוסף - אפשר לעקוב בלוג ולראות היכן הותקנה התעודה בפועל]
 +
 
 +
'''אפשרות ב'''' <br>
 +
 
 +
במערכות windwos, במקרה שהתקנתם את תוכנת ההתקנה של תעודת האבטחה, התעודה כבר קיימת במיקום הבא:
  
 
  %ProgramData%\NetFree\CA\netfree-ca-last.crt
 
  %ProgramData%\NetFree\CA\netfree-ca-last.crt
שורה 38: שורה 65:
 
keytool -importcert -trustcacerts -alias netfree-ca -file %ProgramData%\NetFree\CA\netfree-ca-last.crt -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit -noprompt
 
keytool -importcert -trustcacerts -alias netfree-ca -file %ProgramData%\NetFree\CA\netfree-ca-last.crt -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit -noprompt
 
</pre>
 
</pre>
 +
(שימו לב מה הנתיב המדויק אצלכם "%JAVA_HOME%/jre/lib/security/cacerts" בדר"כ צריך להוסיף את גירסת ה jre)
  
 
פלט הפקודה צריך להיות כזה:
 
פלט הפקודה צריך להיות כזה:
שורה 44: שורה 72:
  
 
בכל מקרה שהפלט לא כזה, כדאי לבדוק את הפלט המופיע לעומק ולראות איזה נתון לא תקין.
 
בכל מקרה שהפלט לא כזה, כדאי לבדוק את הפלט המופיע לעומק ולראות איזה נתון לא תקין.
 +
  
 
כדי שהשינויים יחולו בתוכנה שבה קיימת בעיית אבטחה, יש להפעיל את התוכנה מחדש.
 
כדי שהשינויים יחולו בתוכנה שבה קיימת בעיית אבטחה, יש להפעיל את התוכנה מחדש.
  
 
===פקודה עבור מחשבי מאק / לינוקס===
 
===פקודה עבור מחשבי מאק / לינוקס===
KEYSTORE=/path/to/cacerts
+
  curl -sL https://netfree.link/netfree-ca.crt | keytool -importcert -trustcacerts -alias netfree-ca-$(date "+%m%d%H%M%S") -cacerts -storepass changeit -noprompt
  curl -sL <nowiki>https://netfree.link/netfree-ca.crt</nowiki> | keytool -importcert -trustcacerts -alias netfree-ca-$(date "+%m%d%H%M%S") -keystore $KEYSTORE -storepass changeit -noprompt
+
 
 
שימו לב: הפקודה הנ"ל מורידה וגם מתקינה את התעודה בלי להשאיר עקבות במערכת הקבצים. התעודה מקבלת שם ייחודי, כך שאפשר להתקין שוב ושוב בלי בעיות. זה שימושי למקרה שבו עוברים ספק וצריך להתקין שוב.
 
שימו לב: הפקודה הנ"ל מורידה וגם מתקינה את התעודה בלי להשאיר עקבות במערכת הקבצים. התעודה מקבלת שם ייחודי, כך שאפשר להתקין שוב ושוב בלי בעיות. זה שימושי למקרה שבו עוברים ספק וצריך להתקין שוב.
 +
----
 +
 
==תוכנות מבוססות JAVA==
 
==תוכנות מבוססות JAVA==
  
שורה 81: שורה 112:
 
כמו"כ ניתן לחפש את קובץ הcacerts שאיתו התוכנה משתמשת באמצעות תוכנת חיפוש כדוגמת [https://www.voidtools.com/downloads/ everything] בחיפוש המילה cacerts ובדיקת הנתיב של הקובץ.
 
כמו"כ ניתן לחפש את קובץ הcacerts שאיתו התוכנה משתמשת באמצעות תוכנת חיפוש כדוגמת [https://www.voidtools.com/downloads/ everything] בחיפוש המילה cacerts ובדיקת הנתיב של הקובץ.
 
<br>
 
<br>
 
  
 
=====פתרון 1 (מומלץ)=====
 
=====פתרון 1 (מומלץ)=====
למצוא את הנתיב לקובץ cacerts בהתקנה הספציפית של התוכנה, ולהשתמש בנתיב הזה בפקודה הנזכרת לעיל.
+
למצוא את הנתיב לקובץ cacerts בהתקנה הספציפית של התוכנה, ולהשתמש בנתיב הזה בפקודה הנזכרת [[התקנת_תעודה_עבור_Java#מערכות windwos|לעיל]] .
  
=====פתרון 2=====
+
=====פתרון 2 (יותר ידידותי למשתמש הממוצע)=====
ניתן לייבא את תעודת האבטחה באמצעות תוכנה גרפית בשם KeyStore Explorer, התוכנה ניתנת להורדה מ[https://keystore-explorer.org/downloads.html כאן].
+
ניתן לייבא את תעודת האבטחה באמצעות תוכנה גרפית בשם KeyStore Explorer, מדריך מפורט עם צילומי מסך ברורים הועברו מטעמי נוחות לדף נפרד:<br>
 
+
[[התקנת תעודה עבור Java באמצעות תוכנת KeyStore Explorer]]
======הוראות השימוש בתוכנה KeyStore Explorer :======
+
<br>
בד"כ צריך להריץ את התוכנה כמנהל.
 
 
 
בחלון הפתיחה לוחצים על האיזור המסומן:
 
 
 
[[קובץ:KeyStore_1.png|לא ממוסגר]]
 
 
 
בחלון שנפתח בוחרים את הקובץ cacerts, שנמצא במיקום המתואר למעלה.
 
 
 
יש לסמן שיציג את כל הקבצים כדי לגשת לקובץ.
 
 
 
[[קובץ:KeyStore 2 2.png|לא ממוסגר]]
 
 
 
[[קובץ:KeyStore 2.png|לא ממוסגר]]
 
 
 
 
 
עכשיו יופיע בקשה לסיסמה:
 
 
 
[[קובץ:KeyStore 3.png|לא ממוסגר]]
 
 
 
בברירת מחדל הסיסמה הוא <code>changeit</code> (טרם נתקלתי במישהו ששומע להוראות ובאמת משנה אותו מברירת המחדל...)
 
 
 
עכשיו הקובץ פתוח ונראה רשימה של התעודות הקיימות במאגר. נלחץ על "ייבוא תעודות":
 
 
 
[[קובץ:KeyStore 4.png|לא ממוסגר]]  
 
 
 
ונבחר את הקובץ של תעודת נטפרי. [https://netfree.link/netfree-ca.crt (ניתן להורידו מכאן)].
 
 
 
בחלון הבא נלחץ על "אישור"
 
 
 
[[קובץ:KeyStore 5.png|לא ממוסגר]]
 
 
 
ctrl+s או לחיצה על "שמירה" לשמירת השינויים<br />[[קובץ:KeyStore 4.1.png|לא ממוסגר]]
 
 
 
זהו. בהצלחה!
 
  
 +
----
 
===במחשב mac===
 
===במחשב mac===
 
יש להפעיל חיפוש על ידי הרצת הפקודה הבאה בטרמינל:
 
יש להפעיל חיפוש על ידי הרצת הפקודה הבאה בטרמינל:
שורה 143: שורה 140:
  
 
כמובן שיש להחליף למיקום של התעודות כשהראשון זה המיקום של קובץ המקור התקין והשני זה המיקום של הקובץ שבו רוצים להתקין תעודה.
 
כמובן שיש להחליף למיקום של התעודות כשהראשון זה המיקום של קובץ המקור התקין והשני זה המיקום של הקובץ שבו רוצים להתקין תעודה.
 +
 +
----
 +
== פתרון תקלות ==
 +
לעיתים גם לאחר הוספת התעודה נתקל בבעיה, להלן פתרונות ותקלות נפוצות:
 +
=== בדיקה האם ואיזה תעודה הותקנה ===
 +
'''<big>רלוונטי בעיקר כשמחליפים ספק ורוצים לוודא שהותקנה התעודה המתאימה גם לספק החדש.</big>'''<br>
 +
ניתן לבדוק האם הותקנה התעודה, וכן איזה תעודות כבר הותקנו.
 +
==== מערכות windwows ====
 +
ניתן לבדוק האם מופיעה בפועל תעודה של נטפרי בנתיב הרצוי של ג'אווה ע"י הפקודה הבאה:
 +
cd c:\Program Files\Android\jdk\jdk-8.0.302.8-hotspot\jdk8u302-b08\jre\lib\security\ && findstr "netfree"  cacerts
 +
כמובן שצריך לשנות את הנתיב בפקודה בהתאם לנתיב של הג'אווה שבו אתם רוצים להתקין.<br>
 +
אם התעודה הותקנה התוצאה תהיה כזאת-<br>
 +
[[קובץ:Findstr cacerts1.png]]<br>
 +
ניתן לראות את המילה netfree מופיעה בתוכן של התעודה, ואפשר גם לראות את השם של הספק, במקרה הזה זה מותקנות תעודות של הספק עמיתנט ותעודה של אניוואר/וויפרי3 <br>
 +
אם לא מופיע השם של הספק הנוכחי שלכם או שהפקודה לא מחזירה פלט כלל זאת אומרת שהתעודה שאתם צריכים לא מותקנת כראוי.
 +
 +
==== מחשבי מאק / לינוקס ====
  
 
<references />
 
<references />

גרסה אחרונה מ־16:53, 7 באוקטובר 2024

For English click here

למעבר מתצוגת עריכה לתצוגת קריאה

עמוד ראשי > תעודת האבטחה > התקנת תעודה עבור Java ‎‎





סביבת ההרצה של Java

סביבת ההרצה של Java לא משתמשת במאגר תעודות האבטחה של מערכת ההפעלה אלא במאגר עצמאי ובפורמט ייחודי עבור JAVA, לכן - כדי שתוכנות מבוססות Java (לדוגמא Eclipse) יוכלו לגשת לאתרים מאובטחים - יש צורך להתקין תעודת אבטחה עבור Java בנפרד באמצעות הכלי הייעודי המגיע כחלק מהJVM.

הורידו את תעודת האבטחה של הספק הנוכחי דרכו אתם מחוברים מכאן: https://netfree.link/netfree-ca.crt


מערכות windwos

אפשרות א'
יש להיכנס לקישור הזה - https://netfree.link/welcome/#/installations/certificate
ללחוץ על הגדרות מתקדמות וב'כתובת מחלקת JAVA במחשב שלכם' יש להכניס את הנתיב הרצוי
כתובת לג'אווה.png
הנתיב אמור להיות נתיב של ספריית ג'אווה שבתוכה יש תיקיית bin ששם יש את ה java.exe
לדוגמא: C:\Program Files\Android\Android Studio\jbr\
ניתן לכלול את כל המיקומים של ג'אווה בכונן C ע"י הקלדת כוכבית ב'כתובת מחלקת JAVA במחשב שלכם'

כתובת לספריות ג'אווה.png

חשוב! [וזו גם דוגמא נוספת לשימוש בהגדרות המתקדמות].

במקרה והכונן שבו ממוקמת התוכנה הוא לא כונן C. צריך להכניס בהגדרות מתקדמות את הנתיב המלא לתיקייה שבה ממוקמים קבצי הג'אווה.
לדוגמא - הורדתם Eclipse ותיקיית ההורדות ממוקמת בכונן D ואתם מפעילים את התוכנה בלי להעביר את הקבצים למיקום אחר, מכניסים בהגדרות מתקדמות:

D:\הורדות\eclipse-inst-jre-win64\plugins\org.eclipse.justj.openjdk.hotspot.jre.minimal.stripped.win32.x86_64_21.0.4.v20241003-1226\jre

שימו לב שבמקרה כזה המתקין לא יחפש בכל כונן C כמו במקרה הקודם שסימנתם כוכבית, אלא המתקין יתקין - בנוסף להתקנות ברירת מחדל - רק בנתיב המפורש שהכנסתם.
יש לציין שההתקנה בדרך הזו רלוונטית גם במקרה שבו התוכנה כן ממוקמת בכונן C: ואתם יודעים במדוייק את המיקום שבו צריך להתקין ולא רוצים להתעכב ולהתקין בכל התיקיות בכונן C: - מכניסים את הנתיב המלא הרלוונטי ומתקינים רק בתיקייה הזו.
[בנוסף - אפשר לעקוב בלוג ולראות היכן הותקנה התעודה בפועל]

אפשרות ב'

במערכות windwos, במקרה שהתקנתם את תוכנת ההתקנה של תעודת האבטחה, התעודה כבר קיימת במיקום הבא:

%ProgramData%\NetFree\CA\netfree-ca-last.crt

אחרי שנתיב מיקום התעודה ידוע לכם, יש להפעיל שורת פקודה - CMD בחלון שורת פקודה המופעל כמנהל, ולעבור לתיקייה שבו קיימת התוכנה keytool - הכלי הייעודי עבור הוספת תעודת אבטחה למאגר התעודות הפומרט הייחודי לJAVA.

ה-keytool ממוקם במיקום הבא:

%JAVA_HOME%\bin

או במילים אחרות:

C:\Program Files\Java\jdk<הגירסה המותקנת אצלכם>\bin

לאחר שנווטתם את שורת הפקודה למיקום הkeytool ובדקתם שהוא קיים במיקום זה (על ידי הרצת הפקודה keytool ובדיקת הפלט, או הרצה ישירה בכל מיקום שבו תהיו של הפקודה "JAVA_HOME%\bin\keytool%")

כתבו את הפקודה הבאה (שימו לב למיקום המדויק של קובץ תעודת האבטחה):

keytool -importcert -trustcacerts -alias netfree-ca -file %ProgramData%\NetFree\CA\netfree-ca-last.crt -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit -noprompt

(שימו לב מה הנתיב המדויק אצלכם "%JAVA_HOME%/jre/lib/security/cacerts" בדר"כ צריך להוסיף את גירסת ה jre)

פלט הפקודה צריך להיות כזה:

certificate added to the keystore.

בכל מקרה שהפלט לא כזה, כדאי לבדוק את הפלט המופיע לעומק ולראות איזה נתון לא תקין.


כדי שהשינויים יחולו בתוכנה שבה קיימת בעיית אבטחה, יש להפעיל את התוכנה מחדש.

פקודה עבור מחשבי מאק / לינוקס

curl -sL https://netfree.link/netfree-ca.crt | keytool -importcert -trustcacerts -alias netfree-ca-$(date "+%m%d%H%M%S") -cacerts -storepass changeit -noprompt

שימו לב: הפקודה הנ"ל מורידה וגם מתקינה את התעודה בלי להשאיר עקבות במערכת הקבצים. התעודה מקבלת שם ייחודי, כך שאפשר להתקין שוב ושוב בלי בעיות. זה שימושי למקרה שבו עוברים ספק וצריך להתקין שוב.


תוכנות מבוססות JAVA

לפעמים תוכנות מבוססות JAVA מתקינות סביבת הרצה פרטית של JAVA בתוך תיקיית התוכנה ב-Program Files במקום להשתמש בסביבה שמותקנת כבר (למשל כל התוכנות של חברת intelij (שזה כולל android studio)). במקרה זה יש צורך לייבא את תעודת נטפרי לכל תוכנה ותוכנה בנפרד.

כדי לייבא את התעודה צריך למצוא קודם את הקובץ שמאחסן את מאגר התעודות. בד"כ סביבת ההרצה של JAVA מותקנת בתיקיית התוכנה ב-program files בתת תיקייה בשם java או jre. בתוך התת תיקייה יהיה נתיב בשם: lib\security\ ובתוכו קובץ בשם cacerts.

במחשב ווינדוס

התקנה באמצעות סקריפט (מומלץ)

ניתן להריץ את הסקריפט הבא שיתקין את התעודה בכל המיקומים הקיימים ב program files באופן אוטומטי.
יש להריץ את הסקריפט כמנהל בWindows PowerShell (ולא בcmd)

$certs = @(Get-Childitem –Path "C:\Program files", "C:\Program Files (x86)" -filter cacerts -Recurse -ErrorAction SilentlyContinue);$keytool = Get-Childitem -Path "C:\Program files", "C:\Program Files (x86)" -filter keytool.exe -Recurse -ErrorAction SilentlyContinue | Select -First 1; foreach ( $cert in $certs ){& "$keytool" -import -trustcacerts -alias netfree-ca$(date -format dMyyhm) -file C:\ProgramData\NetFree\CA\netfree-ca-last.crt -keystore $cert -storepass changeit -noprompt}

הסקריפט מתקין את התעודה עם שם ייחודי מה שמאפשר התקנה מחדש של התעודה במקרה של החלפת ספק.
יש גרסאות ישנות מסוימות של powershell שלא מריצים את הפקודה keytool מגישה ישירה במקרה כזה יש לשנות את

{& "$keytool"

ל

{& ".\$keytool"

במקרה ומותקנת במחשב תוכנת אנדרואיד סטודיו שימו לב להערה הזו
במקרה של צורך בהתקנה בתיקיות נוספות ניתן לראות כאן.

חיפוש והתקנה בצורה ידנית

ניתן לחפש קבצים עם השם cacerts בשורת הפקודה באמצעות הפקודה הבאה:

dir c:\ /s /b | findstr -i cacerts


כמו"כ ניתן לחפש את קובץ הcacerts שאיתו התוכנה משתמשת באמצעות תוכנת חיפוש כדוגמת everything בחיפוש המילה cacerts ובדיקת הנתיב של הקובץ.

פתרון 1 (מומלץ)

למצוא את הנתיב לקובץ cacerts בהתקנה הספציפית של התוכנה, ולהשתמש בנתיב הזה בפקודה הנזכרת לעיל .

פתרון 2 (יותר ידידותי למשתמש הממוצע)

ניתן לייבא את תעודת האבטחה באמצעות תוכנה גרפית בשם KeyStore Explorer, מדריך מפורט עם צילומי מסך ברורים הועברו מטעמי נוחות לדף נפרד:
התקנת תעודה עבור Java באמצעות תוכנת KeyStore Explorer


במחשב mac

יש להפעיל חיפוש על ידי הרצת הפקודה הבאה בטרמינל:

/ | mdfind -name cacerts


אח"כ יש להריץ את הפקודה להתקנת התעודה לעיל על כל נתיב שעולה בחיפוש בנפרד.

לאחר מכן יש להפעיל מחדש את התוכנה שבה הייתה הבעיה
במקרים מסוימים יש צורך בהפעלה מחדש של המחשב.

כשיש שגיאות בכל האפשרויות

במקרים מסויימים הקובץ נדפק ולא ניתן להוסיף שם תעודות במקרה כזה ניתן להחליף את הקובץ בקובץ תעודות ממיקום אחר במחשב על ידי הפקודה

sudo cp -f /path/to/source/cacerts /path/to/target/cacerts

כמובן שיש להחליף למיקום של התעודות כשהראשון זה המיקום של קובץ המקור התקין והשני זה המיקום של הקובץ שבו רוצים להתקין תעודה.


פתרון תקלות

לעיתים גם לאחר הוספת התעודה נתקל בבעיה, להלן פתרונות ותקלות נפוצות:

בדיקה האם ואיזה תעודה הותקנה

רלוונטי בעיקר כשמחליפים ספק ורוצים לוודא שהותקנה התעודה המתאימה גם לספק החדש.
ניתן לבדוק האם הותקנה התעודה, וכן איזה תעודות כבר הותקנו.

מערכות windwows

ניתן לבדוק האם מופיעה בפועל תעודה של נטפרי בנתיב הרצוי של ג'אווה ע"י הפקודה הבאה:

cd c:\Program Files\Android\jdk\jdk-8.0.302.8-hotspot\jdk8u302-b08\jre\lib\security\ && findstr "netfree"  cacerts

כמובן שצריך לשנות את הנתיב בפקודה בהתאם לנתיב של הג'אווה שבו אתם רוצים להתקין.
אם התעודה הותקנה התוצאה תהיה כזאת-
Findstr cacerts1.png
ניתן לראות את המילה netfree מופיעה בתוכן של התעודה, ואפשר גם לראות את השם של הספק, במקרה הזה זה מותקנות תעודות של הספק עמיתנט ותעודה של אניוואר/וויפרי3
אם לא מופיע השם של הספק הנוכחי שלכם או שהפקודה לא מחזירה פלט כלל זאת אומרת שהתעודה שאתם צריכים לא מותקנת כראוי.

מחשבי מאק / לינוקס