<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:20:54 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CDRIVER-4428] Automatically create Queryable Encryption keys</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-4428</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;This ticket was split from &lt;tt&gt;DRIVERS-2312&lt;/tt&gt;, please see that ticket for a detailed description. &lt;/p&gt;</description>
                <environment></environment>
        <key id="2091615">CDRIVER-4428</key>
            <summary>Automatically create Queryable Encryption keys</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="colby.pike@mongodb.com">Colby Pike</assignee>
                                    <reporter username="dbeng-pm-bot">PM Bot</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Jul 2022 18:55:43 +0000</created>
                <updated>Mon, 13 Mar 2023 10:05:20 +0000</updated>
                            <resolved>Tue, 8 Nov 2022 01:28:00 +0000</resolved>
                                                    <fixVersion>1.24.0</fixVersion>
                                    <component>Client Side Encryption</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5156341" author="xgen-internal-githook" created="Tue, 31 Jan 2023 21:06:55 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@mongodb.com&apos;, &apos;username&apos;: &apos;kevinAlbs&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4428&quot; title=&quot;Automatically create Queryable Encryption keys&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4428&quot;&gt;&lt;del&gt;CDRIVER-4428&lt;/del&gt;&lt;/a&gt; do not check encryptedFieldsMap in CreateEncryptedCollection (#1197)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;add failing test&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;do not check encryptedFieldsMap in CreateEncryptedCollection&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/d1a4b635cdbe07a59283f6cc8d31f574c4b5724d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/d1a4b635cdbe07a59283f6cc8d31f574c4b5724d&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="4961571" author="xgen-internal-githook" created="Tue, 8 Nov 2022 01:19:42 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;vector-of-bool&apos;, &apos;email&apos;: &apos;vectorofbool@gmail.com&apos;, &apos;username&apos;: &apos;vector-of-bool&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4428&quot; title=&quot;Automatically create Queryable Encryption keys&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4428&quot;&gt;&lt;del&gt;CDRIVER-4428&lt;/del&gt;&lt;/a&gt; Automatic Queryable Encryption Keys for Encrypted Fields when Creating a Collection (#1118)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Internal auto-datakeys API/utility&lt;/li&gt;
&lt;/ul&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;This implements a utility function that inspects the options for&lt;br/&gt;
  `create`&apos;s `encryptedFields.fields` and finds null keyIds&lt;/li&gt;
	&lt;li&gt;When a null keyId is found, a caller-supplied callback is invoked to&lt;br/&gt;
  generate a new keyId value. this value is inserted in place of the&lt;br/&gt;
  null keyId.&lt;/li&gt;
	&lt;li&gt;This utility does not require CSE support or I/O, so it can be&lt;br/&gt;
  tested and validated without any external dependencies.&lt;/li&gt;
	&lt;li&gt;The isolation of the auto-datakey logic isolates its correctness from&lt;br/&gt;
  the correctness of any calling code.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Public API for creating an encrypted collection&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This convenience function wrapping CreateCollection will automatically&lt;br/&gt;
fill in any null keyIds with new datakeys before creating the&lt;br/&gt;
collection.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Support the encryptedFieldsMap. Clean-up encryptedFields lookup.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Support the encryptedFieldsMap within CreateEncryptedCollection.&lt;br/&gt;
  Looks up the encryptedFields for the collection in the same way as&lt;br/&gt;
  for the CreateCollection and DropCollection APIs.&lt;/li&gt;
	&lt;li&gt;Consolidate the logic used to find encryptedFields for collections,&lt;br/&gt;
  now shared across all three helper functions.&lt;/li&gt;
	&lt;li&gt;The internal auto-datakey function now acts on encryptedFields&lt;br/&gt;
  directly instead of the CreateCollection options.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Simple test case to verify that we created an encrypted collection&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/5c049bf8c0d21388fcfcd29c7606b8526e681a6a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/5c049bf8c0d21388fcfcd29c7606b8526e681a6a&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="2286476">PHPC-2193</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="2252291">CDRIVER-4570</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2211060">CDRIVER-4540</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                                                <inwardlinks description="split from">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2091623">PHPLIB-913</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY23Q3</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr6i7r:f0ic</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_21457" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Upstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;DRIVERS-2312:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;add new method &lt;tt&gt;ClientEncryption.CreateEncryptedCollection&lt;/tt&gt; &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/client-side-encryption.rst#create-encrypted-collection-helper&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/client-side-encryption.rst#create-encrypted-collection-helper&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;add prose test from section #21 &lt;a href=&quot;https://github.com/mongodb/specifications/tree/master/source/client-side-encryption/tests#automatic-data-encryption-keys&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/tree/master/source/client-side-encryption/tests#automatic-data-encryption-keys&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;document &lt;tt&gt;ClientEncryption.CreateEncryptedCollection&lt;/tt&gt; as &quot;Public Technical Preview&quot;. Follow the convention taken with DRIVERS-2349.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The relevant spec changes:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;the main spec change (note that eventually it was determined that the &lt;tt&gt;GetEncryptedFields&lt;/tt&gt; helper is irrelevant to this ticket) and prose tests &lt;a href=&quot;https://github.com/mongodb/specifications/commit/02c6e3fa7dbc3a64e5312ef820e0f1779069cadb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/02c6e3fa7dbc3a64e5312ef820e0f1779069cadb&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;more prose tests &lt;a href=&quot;https://github.com/mongodb/specifications/commit/64cf83b604107edffe9f75eb91b0690d5daa8b7c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/64cf83b604107edffe9f75eb91b0690d5daa8b7c&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;more prose tests &lt;a href=&quot;https://github.com/mongodb/specifications/commit/10122e797c6eeb5e96007ee1ca3ca0dbf0374d95&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/10122e797c6eeb5e96007ee1ca3ca0dbf0374d95&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;prose tests clarification &lt;a href=&quot;https://github.com/mongodb/specifications/commit/f6ecec6a70226b53f181a25c6b404be342735c1c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/f6ecec6a70226b53f181a25c6b404be342735c1c&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;spec fix &lt;a href=&quot;https://github.com/mongodb/specifications/commit/a0bb4994ec9fb661d957cfaf7af5fc4fc7858484&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/a0bb4994ec9fb661d957cfaf7af5fc4fc7858484&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;spec fix &lt;a href=&quot;https://github.com/mongodb/specifications/commit/0a44c5bb3133d7b3e156276a9cba45daccb9266d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/0a44c5bb3133d7b3e156276a9cba45daccb9266d&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;spec and test changes &lt;a href=&quot;https://github.com/mongodb/specifications/commit/479f4bddf517eb6d90abdfc71043b711ccc1f867&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/479f4bddf517eb6d90abdfc71043b711ccc1f867&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>