Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html class="no-js hasSidebar hasPageActions hasBreadcrumb conceptual" lang="en-us" dir="ltr" data-authenticated="false" data-target="docs">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta property="og:title" content="CNG DPAPI" />
- <meta property="og:image" content="https://docs.microsoft.com/_themes/docs.theme/master/en-us/_themes/images/microsoft-header.png" />
- <meta name="author" content="windows-sdk-content" />
- <meta name="ms.author" content="windowssdkdev" />
- <meta name="breadcrumb_path" content="/windows/desktop/breadcrumb/toc.json" />
- <meta name="ms.prod" content="desktop" />
- <meta name="uhfHeaderId" content="MSDocsHeader-WinDesktop" />
- <meta name="ms.assetid" content="048DEA72-39E1-4129-A554-F7D08442C2D9" />
- <meta name="ms.topic" content="article" />
- <meta name="Description" content="Microsoft introduced the data protection application programming interface (DPAPI) in Windows 2000." />
- <meta name="ms.date" content="05/31/2018" />
- <meta name="search.ms_sitename" content="Docs" />
- <meta name="search.ms_docsetname" content="desktop" />
- <meta name="locale" content="en-us" />
- <meta name="site_name" content="Docs" />
- <meta name="search.ms_product" content="MSDN" />
- <meta name="depot_name" content="MSDN.desktop" />
- <meta name="updated_at" content="2018-11-06 05:21 PM" />
- <meta name="gitcommit" content="https://cpubwin.visualstudio.com/DefaultCollection/win32/_git/win32/commit/0180b6dbcaa133e58745702bf0ebefa871ee151b?path=%2fdesktop-src%2fSecCNG%2fcng-dpapi.md&_a=contents" />
- <meta name="original_content_git_url" content="https://cpubwin.visualstudio.com/DefaultCollection/win32/_git/win32?path=%2fdesktop-src%2fSecCNG%2fcng-dpapi.md&version=GBlive&_a=contents" />
- <meta name="document_id" content="fc478d42-efca-31b1-5a53-6388ea8a4d5e" />
- <meta name="document_version_independent_id" content="5641989d-a57c-9cf5-055b-94b102d61c19" />
- <meta name="page_type" content="conceptual" />
- <meta name="toc_rel" content="TOC.json" />
- <meta name="word_count" content="180" />
- <!-- secret here -->
- <input type="hidden" name="secret" value="7253b8f45f322b411ce39b12c6e9a84c" />
- <meta name="scope" content="Windows, Desktop" />
- <link href="https://docs.microsoft.com/en-us/windows/desktop/seccng/cng-dpapi" rel="canonical">
- <title>CNG DPAPI | Microsoft Docs</title>
- <link rel="stylesheet" href="/_themes/docs.theme/master/en-us/_themes/css/4e146f3a.site-ltr.css ">
- <link rel="stylesheet" href="/_themes/docs.theme/master/en-us/_themes/css/fbd113ac.conceptual.css ">
- <script>
- var msDocs = {
- data:{
- azureHeaderLocale: 'en-us',
- contentLocale: 'en-us',
- contentDir: 'ltr',
- userLocale: 'en-us',
- userDir: 'ltr',
- pageTemplate: 'Conceptual',
- brand: '',
- context: {
- },
- hasComments: false,
- feedbackSystem: 'None',
- feedbackGitHubRepo: '',
- feedbackProductUrl: '',
- contentGitUrl: 'https://cpubwin.visualstudio.com/DefaultCollection/win32/_git/win32?path=%2fdesktop-src%2fSecCNG%2fcng-dpapi.md&version=GBlive&_a=contents',
- forceVersionPicker:false },
- functions:{},
- settings:{
- extendBreadcrumb: true,
- enableUHFPPE: false
- }
- };
- if (!('Promise' in window && 'resolve' in window.Promise && 'reject' in window.Promise && 'all' in window.Promise && 'race' in window.Promise)) {
- document.write('<script src="/_themes/docs.theme/master/en-us/_themes/global/js/6ee34c01.bluebird.min.js"><\/script>');
- }
- if (typeof fetch !== 'function') {
- document.write('<script src="/_themes/docs.theme/master/en-us/_themes/global/js/d9fc435c.fetch.min.js"><\/script>');
- }
- </script>
- <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js" integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT" crossorigin="anonymous"></script>
- <script src="/_themes/docs.theme/master/en-us/_themes/global/js/9228aa03.global.min.js"></script>
- </head>
- <body lang="en-us" dir="ltr">
- <div class="header-holder">
- <div id="headerAreaHolder" data-bi-name="header">
- <div id="uhf-placeholder"></div>
- </div>
- <div class="content-header uhf-container has-padding has-default-focus" data-bi-name="content-header">
- <nav class="has-padding-none-mobile" data-bi-name="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList" role="navigation" aria-label="Breadcrumb">
- <ul class="breadcrumbs">
- </ul>
- </nav>
- <div class="content-header-controls exit-focus">
- <button type="button" class="ap-collapse-behavior ap-expanded button" data-bi-name="ap-collapse">
- <span class="icon"><span class="docon docon-exit-mode"></span></span>
- <span>Exit focus mode</span>
- </button>
- </div>
- <div class="content-header-controls">
- <button type="button" class="contents-button button" data-bi-name="contents-expand">
- <span class="icon"><span class="docon docon-menu"></span></span>
- <span>Contents</span>
- </button>
- </div>
- <div class="action-bar">
- <ul class="action-list">
- <li id="contenteditbtn" hidden>
- <a href="https://cpubwin.visualstudio.com/DefaultCollection/win32/_git/win32?path=%2fdesktop-src%2fSecCNG%2fcng-dpapi.md&version=GBlive&_a=contents" class="button is-text is-icon-only-touch is-size-7" title="Edit This Document" data-bi-name="edit">
- <span class="icon">
- <span class="docon docon-edit-outline" aria-hidden="true"></span>
- </span>
- <span class="action-item-text">Edit</span>
- </a>
- </li>
- <li>
- <div class="sharing dropdown has-caret" auto-align>
- <a href="#" class="dropdown-trigger button is-text is-size-7 is-icon-only-touch" aria-haspopup="true" aria-controls="sharing-menu" aria-expanded="false" title="Share This Document" data-bi-name="share">
- <span class="icon">
- <span class="docon docon-sharing" aria-hidden="true"></span>
- </span>
- <span class="action-item-text">Share</span>
- </a>
- <div class="dropdown-menu" id="sharing-menu" role="menu">
- <ul data-bi-name="share-links">
- <li><a class="share-twitter" data-bi-name="twitter">
- <span class="icon">
- <span class="docon docon-brand-twitter" aria-hidden="true"></span>
- </span>
- <span>Twitter</span></a></li>
- <li><a class="share-linkedin" data-bi-name="linkedin">
- <span class="icon">
- <span class="docon docon-brand-linkedin" aria-hidden="true"></span>
- </span>
- <span>LinkedIn</span></a></li>
- <li><a class="share-facebook" data-bi-name="facebook">
- <span class="icon">
- <span class="docon docon-brand-facebook" aria-hidden="true"></span>
- </span>
- <span>Facebook</span></a></li>
- <li><a class="share-email" data-bi-name="email">
- <span class="icon">
- <span class="docon docon-mail-message-fill" aria-hidden="true"></span>
- </span>
- <span>Email</span></a></li>
- </ul>
- </div>
- </div>
- </li>
- <li>
- <button class="toggle-theme button is-text is-size-7 is-icon-only-touch" aria-label="toggle-theme" data-bi-name="select-theme">
- <span class="icon">
- <span class="docon docon-sun"></span>
- </span>
- <span class="action-item-text">Theme</span>
- </button>
- </li>
- <li class="is-unstyled-action-list-item">
- <a class="docs-sign-in not-authenticated button is-text has-text-primary is-size-7" href="#">Sign in</a>
- <div class="dropdown has-caret authenticated" auto-align>
- <button class="dropdown-trigger button is-text is-size-7 is-icon-only-touch has-inner-focus" aria-label="Your Account" aria-haspopup="true" aria-controls="user-menu" aria-expanded="false">
- <span class="image icon" aria-hidden="true">
- <img class="has-body-background-medium is-rounded" data-profile-property="avatarUrl">
- </span>
- <span class="is-truncated" data-profile-property="userName"></span>
- </button>
- <div class="dropdown-menu box" id="user-menu" role="menu">
- <div class="media is-user-dir">
- <div class="media-left">
- <span class="image is-64x64" aria-hidden="true">
- <img class="has-body-background-medium is-rounded" data-profile-property="avatarUrl">
- </span>
- </div>
- <div class="media-content">
- <p class="title has-margin-top-small">
- <span class="is-truncated" style="max-width: 200px" data-profile-property="userName"></span>
- </p>
- <p class="subtitle">
- <span class="is-truncated" style="max-width: 200px" data-profile-property="upn"></span>
- </p>
- </div>
- </div>
- <ul class="is-unstyled has-margin-none">
- <li><a href="/profile" data-profile-property="profileUrl">Profile</a></li>
- <li><a class="docs-sign-out" href="#">Sign out</a></li>
- </ul>
- </div>
- </div>
- </li>
- </ul>
- <button type="button" class="contents-button" aria-label="Contents" data-bi-name="contents-expand-">
- <span class="docon docon-editor-list-bullet"></span><span>Contents</span>
- </button>
- </div>
- </div>
- <div id="disclaimer-holder" class="disclaimer-holder"></div>
- </div>
- <div class="mainContainer uhf-container has-top-padding has-default-focus" data-bi-name="body">
- <div class="columns ">
- <section class="primary-holder column is-two-thirds-tablet is-three-quarters-desktop">
- <div class="columns ">
- <div id="page-actions" class="right-container column is-one-quarter is-one-fifth-desktop is-hidden-mobile is-hidden-tablet-only" data-bi-name="pageactions" role="complementary" aria-label="Page Actions">
- <nav id="side-doc-outline" class="doc-outline" data-bi-name="intopic toc" role="navigation" aria-label="On page navigation">
- <h3>In this article</h3>
- </nav>
- </div>
- <div id="main-column" class="column is-full is-four-fifths-desktop ">
- <main id="main" role="main" class="content" data-bi-name="content" lang="en-us" dir="ltr">
- <h1 id="cng-dpapi" sourcefile="SecCNG/cng-dpapi.md" sourcestartlinenumber="9">CNG DPAPI</h1>
- <ul class="metadata page-metadata" data-bi-name="page info" lang="en-us" dir="ltr">
- <li class="displayDate loading">
- <span aria-hidden="true" class="docon docon-calendar"></span>
- <time role="presentation" datetime="2018-05-31T00:00:00.000Z" data-article-date-source="ms.date">05/31/2018</time>
- </li>
- <li class="readingTime">
- <span aria-hidden="true" class="docon docon-clock"></span>
- 2 minutes to read
- </li>
- </ul>
- <nav id="center-doc-outline" class="doc-outline is-hidden-desktop" data-bi-name="intopic toc" role="navigation" aria-label="On page navigation">
- <h3>In this article</h3>
- </nav>
- <!-- <content> -->
- <p>Microsoft introduced the data protection application programming interface (DPAPI) in Windows 2000. The API consists of two functions, <a href="https://msdn.microsoft.com/library/windows/desktop/aa380261" data-linktype="external"><strong>CryptProtectData</strong></a> and <a href="https://msdn.microsoft.com/library/windows/desktop/aa380882" data-linktype="external"><strong>CryptUnprotectData</strong></a>. DPAPI is part of CryptoAPI and was intended for developers who knew very little about using cryptography. The two functions could be used to encrypt and decrypt static data on a single computer.</p>
- <p>Cloud computing, however, often requires that content encrypted on one computer be decrypted on another. Therefore, beginning with Windows 8, Microsoft extended the idea of using a relatively straightforward API to encompass cloud scenarios. This new API, called DPAPI-NG, enables you to securely share secrets (keys, passwords, key material) and messages by protecting them to a set of principals that can be used to unprotect them on different computers after proper authentication and authorization. The following principals are currently supported:</p>
- <ul>
- <li>A group in an Active Directory forest.</li>
- <li>Web credentials.</li>
- </ul>
- <p>For more information, see the following topics:</p>
- <ul>
- <li><a href="protection-providers" data-linktype="relative-path">Protection Providers</a></li>
- <li><a href="protection-descriptors" data-linktype="relative-path">Protection Descriptors</a></li>
- <li><a href="protected-data-format" data-linktype="relative-path">Protected Data Format</a></li>
- </ul>
- <p>DPAPI-NG is built on top of Cryptography Next Generation (CNG) and includes the following functions:</p>
- <ul>
- <li><a href="/en-us/windows/desktop/api/NCryptprotect/nf-ncryptprotect-ncryptcreateprotectiondescriptor" data-linktype="absolute-path"><strong>NCryptCreateProtectionDescriptor</strong></a></li>
- <li><a href="/en-us/windows/desktop/api/NCryptprotect/nf-ncryptprotect-ncryptcloseprotectiondescriptor" data-linktype="absolute-path"><strong>NCryptCloseProtectionDescriptor</strong></a></li>
- <li><a href="/en-us/windows/desktop/api/NCryptprotect/nf-ncryptprotect-ncryptprotectsecret" data-linktype="absolute-path"><strong>NCryptProtectSecret</strong></a></li>
- <li><a href="/en-us/windows/desktop/api/NCryptprotect/nf-ncryptprotect-ncryptqueryprotectiondescriptorname" data-linktype="absolute-path"><strong>NCryptQueryProtectionDescriptorName</strong></a></li>
- <li><a href="/en-us/windows/desktop/api/NCryptprotect/nf-ncryptprotect-ncryptregisterprotectiondescriptorname" data-linktype="absolute-path"><strong>NCryptRegisterProtectionDescriptorName</strong></a></li>
- <li><a href="/en-us/windows/desktop/api/NCryptprotect/nf-ncryptprotect-ncryptstreamclose" data-linktype="absolute-path"><strong>NCryptStreamClose</strong></a></li>
- <li><a href="/en-us/windows/desktop/api/NCryptprotect/nf-ncryptprotect-ncryptstreamopentoprotect" data-linktype="absolute-path"><strong>NCryptStreamOpenToProtect</strong></a></li>
- <li><a href="/en-us/windows/desktop/api/NCryptprotect/nf-ncryptprotect-ncryptstreamopentounprotect" data-linktype="absolute-path"><strong>NCryptStreamOpenToUnprotect</strong></a></li>
- <li><a href="/en-us/windows/desktop/api/NCryptprotect/nf-ncryptprotect-ncryptstreamupdate" data-linktype="absolute-path"><strong>NCryptStreamUpdate</strong></a></li>
- <li><a href="/en-us/windows/desktop/api/NCryptprotect/nf-ncryptprotect-ncryptunprotectsecret" data-linktype="absolute-path"><strong>NCryptUnprotectSecret</strong></a></li>
- </ul>
- <p> </p>
- <p> </p>
- <!-- </content> -->
- </main>
- <!-- feedback section -->
- <!-- end feedback section -->
- <div class="footerContainer is-visible-interactive has-default-focus ">
- <footer id="footer-interactive" data-bi-name="footer" class="footer-layout">
- <a data-mscc-ic="false" class="locale-selector-link" href="#" data-bi-name="select-locale"><span class="icon docon docon-world is-size-4 has-margin-right-small"></span><span class="local-selector-link-text"></span></a>
- <ul class="links" data-bi-name="footerlinks">
- <li><a data-mscc-ic="false" href="https://docs.microsoft.com/previous-versions/" data-bi-name="archivelink">Previous Version Docs</a></li>
- <li><a data-mscc-ic="false" href="https://docs.microsoft.com/teamblog" data-bi-name="bloglink">Blog</a></li>
- <li><a data-mscc-ic="false" href="https://docs.microsoft.com/contribute" data-bi-name="contributorGuide">Contribute</a></li>
- <li><a data-mscc-ic="false" href="https://go.microsoft.com/fwlink/?LinkId=521839" data-bi-name="privacy">Privacy & Cookies</a></li>
- <li><a data-mscc-ic="false" href="/en-us/legal/termsofuse" data-bi-name="termsofuse">Terms of Use</a></li>
- <li><a data-mscc-ic="false" href="https://aka.ms/sitefeedback" data-bi-name="feedback">Site Feedback</a></li>
- <li><a data-mscc-ic="false" href="https://www.microsoft.com/en-us/legal/intellectualproperty/Trademarks/EN-US.aspx" data-bi-name="trademarks">Trademarks</a></li>
- </ul>
- </footer> </div>
- </div>
- <!--end of div.columns -->
- </div>
- <!--end of .primary-holder -->
- </section>
- <div id="left-container" class="left-container column is-one-third-tablet is-one-quarter-desktop">
- <nav class="sidebar" id="sidebar" data-bi-name="left toc" role="navigation" aria-label="Main Navigation">
- <button class="sidebar-header" type="button" aria-label="Close" data-bi-name="contents-collapse">
- <span>Contents</span>
- <span class="docon docon-navigate-close" aria-hidden="true"></span>
- </button>
- <div id="sidebarContent">
- <div class="filterHolder">
- </div>
- <nav class="toc"></nav>
- <div class="pdfDownloadHolder"></div>
- </div>
- </nav>
- </div>
- <aside id="interactive-container" class="interactive-container is-visible-interactive column has-body-background-dark ">
- </aside>
- </div>
- <!--end of .mainContainer -->
- </div>
- <div id="openFeedbackContainer" class="openfeedback-container"></div>
- <div class="footerContainer has-default-focus is-hidden-interactive ">
- <footer id="footer" data-bi-name="footer" class="footer-layout uhf-container has-padding" role="contentinfo">
- <a data-mscc-ic="false" class="locale-selector-link" href="#" data-bi-name="select-locale"><span class="icon docon docon-world is-size-4 has-margin-right-small"></span><span class="local-selector-link-text"></span></a>
- <ul class="links" data-bi-name="footerlinks">
- <li><a data-mscc-ic="false" href="https://docs.microsoft.com/previous-versions/" data-bi-name="archivelink">Previous Version Docs</a></li>
- <li><a data-mscc-ic="false" href="https://docs.microsoft.com/teamblog" data-bi-name="bloglink">Blog</a></li>
- <li><a data-mscc-ic="false" href="https://docs.microsoft.com/contribute" data-bi-name="contributorGuide">Contribute</a></li>
- <li><a data-mscc-ic="false" href="https://go.microsoft.com/fwlink/?LinkId=521839" data-bi-name="privacy">Privacy & Cookies</a></li>
- <li><a data-mscc-ic="false" href="/en-us/legal/termsofuse" data-bi-name="termsofuse">Terms of Use</a></li>
- <li><a data-mscc-ic="false" href="https://aka.ms/sitefeedback" data-bi-name="feedback">Site Feedback</a></li>
- <li><a data-mscc-ic="false" href="https://www.microsoft.com/en-us/legal/intellectualproperty/Trademarks/EN-US.aspx" data-bi-name="trademarks">Trademarks</a></li>
- </ul>
- </footer> </div>
- <div class="action-panel has-default-focus"></div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement