ניהול תעודות Windows עם PowerShell

אם אתה מנהל מערכת Windows, ייתכן וכבר נאלץ לעבוד עם תעודות Windows. העבודה עם תעודות בווינדוס היא בדרך כלל אחת מאלה המשימות הנוספות של מנהלי מערכות. באמצעות מנהל התעודות של Windows ככלי, אפשר לעשות זאת!

התעודות ידועות במורכבותן ובקושי בהבנתן, אך במאמר זה תקבל הזדמנות לגלות כי התעודות לא מפחידות כל כך בווינדוס!

מאמר זה יעסוק בעיקר בעבודה עם תעודות בווינדוס. אם ברצונך ללמוד עוד על איך תעודות עובדות בכלל, בדוק את מאמר הלווי של המאמר הזה, מדריך תעודת X.509.

הבנת חנויות התעודות

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

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

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

לעיתים תראה חנויות תעודות מתייחסות כחנויות פיזיות או לוגיות. חנויות פיזיות מתייחסות למיקום המערכתי או הרשומות שבו המפתח(ות) הרשומ(ים) ו/או הקובץ(ים) נשמרים. חנויות לוגיות הן הפניות דינמיות המפנות לאחת או יותר מחנויות פיזיות. חנויות לוגיות הן הרבה יותר קלות לעבודה מאשר חנויות פיזיות לרוב המקרים השימושיים המקובלים.

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

תעודות משתמש

אם תכנן שתעודה תשמש על ידי משתמש יחיד, אז חנות תעודות משתמש בתוך מנהל התעודות של Windows היא אידיאלית. זהו המקרה השימושי הנפוץ במערכות אימות מבוססות תעודות כמו IEEE 802.1x חוטי.

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

תעודות מחשב

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

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

למידע נוסף על מפתחות פרטיים, ודאו לבדוק את המאמר X.509 Certificates Tutorial: A Sysadmin Guide.

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

Context Registry Path Explanation
User HKCU:\SOFTWARE\Microsoft\SystemCertificates\ Physical store for user-specific public keys
User HKCU:\SOFTWARE\Policies\Microsoft\SystemCertificates\ Physical store for user-specific public keys installed by Active Directory (AD) Group Policy Objects (GPOs)
Computer HKLM:\SOFTWARE\Microsoft\SystemCertificates\ Physical store for machine-wide public keys
Computer HKLM:\SOFTWARE\Microsoft\Cryptography\Services\ Physical store for keys associated with a specific service
Computer HKLM:\SOFTWARE\Policies\Microsoft\SystemCertificates\ Physical store for machine-wide public keys installed by GPOs
Computer HKLM:\SOFTWARE\Microsoft\EnterpriseCertificates\ Physical store for machine-wide public keys installed by the Enterprise PKI Containers within an AD domain
Context File Location Explanation
User $env:APPDATA\Microsoft\SystemCertificates\ Physical store for user-specific public keys and pointers to private keys
User $env:APPDATA\Microsoft\Crypto\ Physical store for user-specific private key containers
Computer $env:ProgramData\Microsoft\Crypto\ Physical store for machine-wide private key containers

דרישות מקדימות

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

  • Windows Vista, Windows Server 2008 או מערכת הפעולה החדשה יותר. הדוגמאות המוצגות משתמשות בווינדוס 10 Enterprise גרסה 1903.
  • מוכרותות עם PowerShell. אף שלא נדרש, זו תהיה השפה המשמשת להפניית תעודות במקומות המתאימים. כל הדוגמאות המוצגות נוצרו עם PowerShell 5.1 של Windows.
  • אתה לא תצטרך להתקין תעודות ספציפיות כדי להמשיך, אך יש יתרון בשימוש בתעודה שנחתמת עצמאית.

ניהול תעודות ב-Windows

ב-Windows, יש שלושה דרכים עיקריות לנהל תעודות:

  • התוסף של Microsoft Management Console (MMC) לתעודות (certmgr.msc)
  • PowerShell
  • כלי שורת פקודה certutil

במאמר זה, תלמד כיצד לנהל תעודות באמצעות התוסף MMC ו-PowerShell. אם ברצונך לדעת עוד על איך להשתמש ב-certutil, ראה את מסמכי Microsoft.

PowerShell נגד מנהל התעודות של Windows

מאחר שניתן לנהל תעודות במספר דרכים שונות ב-Windows, איזו מתוך כלי ה-GUI (MMC) או השורת פקודה עם PowerShell כדאי לבחור?

הערה: מאמר זה רלוונטי גם למנהל התעודות של Windows 7 וגם ל-MMC של מנהל התעודות ב-Windows 10.

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

נבדוק תחילה איך לגלות את התעודות המותקנות ב-Windows באמצעות מנהל התעודות ו-PowerShell.

שימוש במנהל התעודות של Windows (certmgr.msc)

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

ניתן לראות בתמונת המסך למטה שחניית הלוגים רשות התעודה השורש האמינה נבחרה.

Trusted Root Certification Authorities store

צפייה בחנויות פיזיות

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

Figure 2 – The Certificates MMC View Options with Physical certificate stores selected.

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

Inspecting the physical cert stores

בדיקת תכונות במנהל התעודות של Windows

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

הדרך הקלה ביותר לביצוע זה היא על ידי הפניה למספר סידורי או לערך ההארת סמן של תעודת ה־Serial Number או Thumbprint. אם תעודת ה־SSL נחתמה על ידי רשות אישור תעודות (CA), יהיה לה מספר סידורי בעת ההנפקות. ה־Thumbprint מחושב בכל פעם שהתעודה נצפית.

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

Inspecting a Windows certificate

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

כדי להבחין בצורה מהירה בין תעודה עם מפתח פרטי ובלעדיו, כדאי להסתכל על סמל התעודה. במנהל התעודות של Windows, אם הסמל נראה כמו דף נייר עם סרט, אין לתעודה מפתח פרטי תואם. אם יש לתעודה מפתח פרטי, יש לראות מפתח בסמל של ה-MMC, ויש לראות מפתח בתחתית כרטיס הכללים כאשר אתה פותח את התעודה.

Certificate without an embedded private key

שימוש ב־PowerShell

כמו ב-MMC, ניתן להציג ולנהל תעודות עם PowerShell כן. בואו נבדוק תחילה תעודות בחנויות הפיזיות שלהן (הרשומות והקובץ).

לפי חנות פיזית

באמצעות פקודת ה־PowerShell Get-ChildItem, ניתן לרשום את כל המפתחות והערכים בתוך המסלול העליון ההרגיסטרי HKCU:\Software\Microsoft\SystemCertificates\CA\Certificates\.

הפקודה למטה תפרט את כל תעודות המשתמש המחובר כעת בחניין האחסון הלוגי של Intermediate Certification Authorities.

Get-ChildItem -Path HKCU:\Software\Microsoft\SystemCertificates\CA\Certificates\

כל רשומה במחבר הרשומות שתראו תורכב מזיהוי האזהרה של התעודה לרשות ה-CA המהימנה והתעודה שלה במאפיין המתאים. תוכל לראות דוגמה לפלט זה למטה.

Results of the installed certificates from the example commands, limited to the first 5 entries.

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

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

Get-ChildItem -Path $env:APPDATA\Microsoft\SystemCertificates\My\Certificates\

כל קובץ שיחזור על ידי הפקודה למטה הוא הפניה לאובייקט של מפתח פרטי שנוצר על ידי Key Storage Provider (KSP). שם הקובץ מתאים ל-Subject Key Identifier של התעודה. לכל מפתח פרטי שתתקין יהיה קובץ תואם.

Get-ChildItem -Path $env:APPDATA\Microsoft\SystemCertificates\My\Keys\

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

Get-ChildItem -Path $env:APPDATA\Microsoft\Crypto\Keys

על ידי חניין לוגי

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

PowerShell יכול לגשת לחנויות לוגיות של Windows באמצעות Cert: PSDrive. ה־PSDrive של Cert: ממפה תעודות לחנויות הפיזיות בדיוק כמו ה־MMC.

למרבה המזל, ה־MMC וה־Cert PSDrive אינם מתווים באותו האופן את החנויות הלוגיות. למטה תוכל לראות טבלת השוואה של החנויות הנפוצות ושמותיהן גם ב־MMC וגם ב־Cert PSDrive.

Cert: Certificates MMC
My Personal
Remote Desktop Remote Desktop
Root Trusted Root Certification Authorities
CA Intermediate Certification Authorities
AuthRoot Third-Party Root Certification Authorities
TrustedPublisher Trusted Publishers
Trust Enterprise Trust
UserDS Active Directory User Object
בחירת תעודות

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

עבור הדוגמאות הבאות עליך להתחיל ברשימת כל התעודות המותקנות בחנות שורש CA.

Get-ChildItem -Path Cert:\CurrentUser\Root\

האובייקטים שיחזרו יהיו אובייקטי תעודה שתוכל להשתמש בהם בדוגמאות הבאות.

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

Get-ChildItem -Path Cert:\CurrentUser\Root\ | Get-Member -MemberType Properties
Figure 9 – The properties available for the returned certificate objects.

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

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

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

((Get-ChildItem -Path Cert:\CurrentUser\Root\ | select -First 1).Extensions | Where-Object {$_.Oid.FriendlyName -eq "Key Usage"}).format($true)

החלק החדש שאנו מציגים בפקודה למעלה הוא שיטת הפורמט, שבוצעת את פענוח ה-ASN.1. תעביר לה ערך בוליאני (לדוגמה, $אמת) למעלה כדי לזהות האם רוצים שהאובייקט המוחזר יהיה בשורה אחת או במספר שורות.

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

$thumb = "cdd4eeae6000ac7f40c3802c171e30148030c072"
Get-ChildItem -Path Cert:\CurrentUser\Root\ | Where-Object {$_.Thumbprint -eq $thumb}

יצירת תעודות עצמיות עם PowerShell

PowerShell יכול ליצור תעודות עצמיות באמצעות הפקודה New-SelfSignedCertificate. תעודות עצמיות שימושיות למבחנים מאחר שהן מאפשרות לך ליצור זוג מפתחות ציבורי ופרטי מבלי להשתמש ב-CA.

נצור כעת תעודת עצמיות בחניכת המשתמש הנוכחי ובחניכת המחשב המקומי כדי להשתמש בדוגמאות לשלבים הבאים.

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

PS51> New-SelfSignedCertificate -Subject 'User-Test' -CertStoreLocation 'Cert:\CurrentUser\My'
PS51> New-SelfSignedCertificate -Subject 'Computer-Test' -CertStoreLocation 'Cert:\LocalMachine\My'

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

ייבוא/ייצוא של תעודות

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

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

שימוש במנהל התעודות של Windows (certmgr.msc)

ייצוא תעודות מתוך ה-MMC ישיר וישר. כדי לייצא תעודה בלי מפתח פרטי, לחץ על התעודה ב-MMC, לחץ על תפריט כל המשימות ואז על ייצוא.

במהלך הייצוא, יתבקש ממך לבחור פורמט קובץ כפי שמוצג למטה. אפשרויות הפופולריות ביותר הן DER או Base-64 מקודד.

Figure 10 – Exporting a certificate with no private key or one that is marked as not exportable.

ייצוא מפתחות פרטיים

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

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

The Basic Security Property Page for the private keys of a certificate with the Subject of ServerName.

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

Certificate Export Wizard with exportable private key.

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

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

Setting Description
Including all certificates in the certification path if possible Helps with portability of certificate issuers, and includes all pertinent public keys in the PFX
Delete the private key if the export is successful Removes the private key from the file and has few common use cases, but one example is to test access to private keys
Export all extended properties Will include any extensions within the current certificate, these relate to the certificates [specific settings]() for Windows interfaces
Enable certificate privacy Normally only the private key will be encrypted in the exported PFX file, this setting encrypts the entire contents of the PFX file
Group or user names You can use a group or user security principal from Active Directory for encrypting the contents of the PFX file, but a password is the most portable option across legacy systems or computers not joined to the same domain

ייבוא תעודות

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

Figure 12 – Certificate Import Wizard with a PFX file.

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

Setting Description
Enable strong private key protection Requires a password for each access of a private key, be cautious of newer functions as they will not be supported in all software
Mark this key as exportable You should try to avoid using this setting on any end system, private keys should be treated similarly to storing passwords
Protect private key using [virtualization-based security] The setting provides more security functionality for protecting private keys from advanced malware attacks
Include all extended properties Relates to the same Windows-specific settings discussed as with exporting

תעודות חתימה לקוד PowerShell הן דוגמה טובה להגנה חזקה על מפתח פרטי.

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

באמצעות PowerShell

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

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

$certificate = Get-Item (Get-ChildItem -Path Cert:\CurrentUser\My\ | Where-Object {$_.Subject -eq $_.Issuer}).PSPath

כעת שבחרתם תעודה, ניתן להשתמש בפקודה Export-Certificate לשמירה של קובץ בפורמט DER באמצעות הפקודה למטה.

Export-Certificate -FilePath $env:USERPROFILE\Desktop\certificate.cer -Cert $certificate

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

$certificate.HasPrivateKey

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

$pfxPassword = "ComplexPassword!" | ConvertTo-SecureString -AsPlainText -Force
Export-PfxCertificate -FilePath $env:USERPROFILE\Desktop\certificate.pfx -Password $pfxPassword -Cert $certificate

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

למטה הפקודה Import-Certificate מייבאת את הקובץ בפורמט DER שיצאת לאחר מכן לאחסון האישי של המשתמש הנוכחי.

Import-Certificate -FilePath $env:USERPROFILE\Desktop\certificate.cer -CertStoreLocation Cert:\CurrentUser\My

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

$pfxPassword = "ComplexPassword!" | ConvertTo-SecureString -AsPlainText -Force
Import-PfxCertificate -Exportable -Password $pfxPassword -CertStoreLocation Cert:\CurrentUser\My -FilePath $env:USERPROFILE\Desktop\certificate.pfx

שים לב שהסיסמה צריכה להיות מסוג Secure String. בנוסף, אם אתה מייבא לאחסון המכונה המקומי (לדוגמה, Cert:\LocalMachine\), יהיה עליך להריץ את הפקודה מעטים של מנהל מורם.

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

קיימות גם הרבה דברים אחרים שאפשר לעשות עם תעודות ב- Windows, אז כדאי לחקור עוד.

הסרת תעודות בעזרת PowerShell

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

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

$certificate = Get-Item (Get-ChildItem -Path Cert:\CurrentUser\My\ | Where-Object {$_.Subject -eq $_.Issuer}).PSPath

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

$certificate.Thumbprint
$certificate.SerialNumber
$certificate.Subject

וודא שבחרת בתעודה הנכונה שאתה מתכוון למחוק.

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

$certificate | Remove-Item

סיכום

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

קריאה נוספת

Source:
https://adamtheautomator.com/windows-certificate-manager/