<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pki.git/base/util/src/netscape, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/'/>
<entry>
<title>Fix 3DES archival</title>
<updated>2017-06-16T20:45:33+00:00</updated>
<author>
<name>Ade Lee</name>
<email>alee@redhat.com</email>
</author>
<published>2017-06-16T18:48:27+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=89f14cc5b7858e60107dc0776a59394bdfb8edaf'/>
<id>89f14cc5b7858e60107dc0776a59394bdfb8edaf</id>
<content type='text'>
A previous commit mistakenly conflated the wrapping parameters for
DES and DES3 cases, resulting in incorrect data being stored if the
storage was successful at all.  This broke ipa vault and probably
also token key archival and recovery.

This patch sets the right parameters for the 3DES case again.
Part of BZ# 1458043

Change-Id: Iae884715a0f510a4d492d64fac3d82cb8100deb4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A previous commit mistakenly conflated the wrapping parameters for
DES and DES3 cases, resulting in incorrect data being stored if the
storage was successful at all.  This broke ipa vault and probably
also token key archival and recovery.

This patch sets the right parameters for the 3DES case again.
Part of BZ# 1458043

Change-Id: Iae884715a0f510a4d492d64fac3d82cb8100deb4
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix regression in pkcs12 key bag creation</title>
<updated>2017-06-15T23:52:39+00:00</updated>
<author>
<name>Fraser Tweedale</name>
<email>ftweedal@redhat.com</email>
</author>
<published>2017-06-15T02:38:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=a411492fe5ad2030bb9f18db9a8ed8d1c45ee7de'/>
<id>a411492fe5ad2030bb9f18db9a8ed8d1c45ee7de</id>
<content type='text'>
Commit 633c7c6519c925af7e3700adff29961d72435c7f changed the PKCS #12
file handing to never deal with raw private key material.
PKCS12Util.addKeyBag() was changed to export the PrivateKey handle,
or fail.  This change missed this case where a PKCS #12 file is
loaded from file, possibly modified, then written back to a file,
without involving an NSSDB.  One example is pkcs12-cert-del which
deletes a certificate and associated key from a PKCS #12 file.

Fix the PKCS12Util.addKeyBag() method to use the stored
EncryptedPricateKeyInfo if available, otherwise export the
PrivateKey handle.

Fixes: https://pagure.io/dogtagpki/issue/2741
Change-Id: Ib8098126bc5a79b5dae19103e25b270e2f10ab5a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 633c7c6519c925af7e3700adff29961d72435c7f changed the PKCS #12
file handing to never deal with raw private key material.
PKCS12Util.addKeyBag() was changed to export the PrivateKey handle,
or fail.  This change missed this case where a PKCS #12 file is
loaded from file, possibly modified, then written back to a file,
without involving an NSSDB.  One example is pkcs12-cert-del which
deletes a certificate and associated key from a PKCS #12 file.

Fix the PKCS12Util.addKeyBag() method to use the stored
EncryptedPricateKeyInfo if available, otherwise export the
PrivateKey handle.

Fixes: https://pagure.io/dogtagpki/issue/2741
Change-Id: Ib8098126bc5a79b5dae19103e25b270e2f10ab5a
</pre>
</div>
</content>
</entry>
<entry>
<title>Server side changes to correctly parse the new PKIArchiveOptions</title>
<updated>2017-06-07T20:00:52+00:00</updated>
<author>
<name>Ade Lee</name>
<email>alee@redhat.com</email>
</author>
<published>2017-06-06T20:16:40+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=d5c331a42955365b76a1549aec047e613d3185dc'/>
<id>d5c331a42955365b76a1549aec047e613d3185dc</id>
<content type='text'>
The server is modified to read the new OIDs in the PKIArchiveOptions
and handle them correctly.

Change-Id: I328df4d6588b3c2c26a387ab2e9ed742d36824d4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The server is modified to read the new OIDs in the PKIArchiveOptions
and handle them correctly.

Change-Id: I328df4d6588b3c2c26a387ab2e9ed742d36824d4
</pre>
</div>
</content>
</entry>
<entry>
<title>Tocket2673- CMC: allow enrollment key signed (self-signed) CMC with identity proof</title>
<updated>2017-05-17T18:45:14+00:00</updated>
<author>
<name>Christina Fu</name>
<email>cfu@redhat.com</email>
</author>
<published>2017-05-16T01:15:36+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=3c43b1119ca978c296a38a9fe404e1c0cdcdab63'/>
<id>3c43b1119ca978c296a38a9fe404e1c0cdcdab63</id>
<content type='text'>
This patch implements the self-signed CMC requests, where the request is signed by the public key of the underlying request (PKCS#10 or CRMF). The scenario for when this method is used is when there was no existing signing cert for the user has been issued before, and once it is issued, it can be used to sign subsequent cert requests by the same user. The new enrollment profile introduced is : caFullCMCSelfSignedCert.cfg The new option introduced to both CRMFPopClient and PKCS10Client is "-y" which will add the required SubjectKeyIdentifier to the underlying request. When a CMC request is self-signed, no auditSubjectID is available until Identification Proof (v2) is verified, however, the cert subject DN is recorded in log as soon as it was available for additional information. Auditing is adjusted. More will come in the next couple CMC patches.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch implements the self-signed CMC requests, where the request is signed by the public key of the underlying request (PKCS#10 or CRMF). The scenario for when this method is used is when there was no existing signing cert for the user has been issued before, and once it is issued, it can be used to sign subsequent cert requests by the same user. The new enrollment profile introduced is : caFullCMCSelfSignedCert.cfg The new option introduced to both CRMFPopClient and PKCS10Client is "-y" which will add the required SubjectKeyIdentifier to the underlying request. When a CMC request is self-signed, no auditSubjectID is available until Identification Proof (v2) is verified, however, the cert subject DN is recorded in log as soon as it was available for additional information. Auditing is adjusted. More will come in the next couple CMC patches.
</pre>
</div>
</content>
</entry>
<entry>
<title>PKCS12Util: add some much-needed comments</title>
<updated>2017-04-30T05:49:58+00:00</updated>
<author>
<name>Fraser Tweedale</name>
<email>ftweedal@redhat.com</email>
</author>
<published>2017-04-28T09:45:53+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=118f648961e502f55d6997f59f6cf8f355218da5'/>
<id>118f648961e502f55d6997f59f6cf8f355218da5</id>
<content type='text'>
Part of: https://pagure.io/dogtagpki/issue/2610

Change-Id: Ic35a81c4c4dd49622bfdeb677d588641594b7ec6
(cherry picked from commit 507908d1aac8f9db6c380f5cae634521608043e8)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Part of: https://pagure.io/dogtagpki/issue/2610

Change-Id: Ic35a81c4c4dd49622bfdeb677d588641594b7ec6
(cherry picked from commit 507908d1aac8f9db6c380f5cae634521608043e8)
</pre>
</div>
</content>
</entry>
<entry>
<title>PKCS12Util: use AES to encrypt private keys</title>
<updated>2017-04-30T05:49:48+00:00</updated>
<author>
<name>Fraser Tweedale</name>
<email>ftweedal@redhat.com</email>
</author>
<published>2017-03-23T03:34:31+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=633c7c6519c925af7e3700adff29961d72435c7f'/>
<id>633c7c6519c925af7e3700adff29961d72435c7f</id>
<content type='text'>
Update PKCS12Util to use AES-256-CBC to encrypt private keys.
Use JSS CryptoStore methods to ensure that all key wrapping and
unwrapping is done on the token.

Specifically, CryptoStore.getEncryptedPrivateKeyInfo replaces the
previous process where a symmetric key was generated, the private
key wrapped to the symmetric key, then decryted into Dogtag's
memory, then re-encrypted under the supplied passphrase.  Now the
key gets wrapped directly to the supplied passphrase.

Similarly, for import, the EncryptedPrivateKeyInfo was decrypted
using the supplied passphrase, then encrypted to a freshly generated
symmetric key, which was then used to unwrap the key into the token.
Now, the new JSS method CryptoStore.importEncryptedPrivateKeyInfo is
used to unwrap the EncryptedPrivateKeyInfo directly into the token,
using the supplied passphrase.

As a result, the PKCS12KeyInfo class, which previously stored
unencrypted key material (a PrivateKeyInfo object), it now only
deals with PrivateKey (an opaque handle to an PKCS #11 object)
on export and encoded (byte[]) EncryptedPrivateKeyInfo data on
import.  This split suggests that PKCS12KeyInfo should be decomposed
into two classes - one containing a PrivateKey and the other
containing a byte[] encryptedPrivateKeyInfo - but this refactoring
is left for another day.

Part of: https://pagure.io/dogtagpki/issue/2610

Change-Id: I75d48de4d7040c9fb3a9a6d1e920c191aa757b70
(cherry picked from commit 2e198ddbe9ec5000ee7e14df0aa364b600d3aa92)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update PKCS12Util to use AES-256-CBC to encrypt private keys.
Use JSS CryptoStore methods to ensure that all key wrapping and
unwrapping is done on the token.

Specifically, CryptoStore.getEncryptedPrivateKeyInfo replaces the
previous process where a symmetric key was generated, the private
key wrapped to the symmetric key, then decryted into Dogtag's
memory, then re-encrypted under the supplied passphrase.  Now the
key gets wrapped directly to the supplied passphrase.

Similarly, for import, the EncryptedPrivateKeyInfo was decrypted
using the supplied passphrase, then encrypted to a freshly generated
symmetric key, which was then used to unwrap the key into the token.
Now, the new JSS method CryptoStore.importEncryptedPrivateKeyInfo is
used to unwrap the EncryptedPrivateKeyInfo directly into the token,
using the supplied passphrase.

As a result, the PKCS12KeyInfo class, which previously stored
unencrypted key material (a PrivateKeyInfo object), it now only
deals with PrivateKey (an opaque handle to an PKCS #11 object)
on export and encoded (byte[]) EncryptedPrivateKeyInfo data on
import.  This split suggests that PKCS12KeyInfo should be decomposed
into two classes - one containing a PrivateKey and the other
containing a byte[] encryptedPrivateKeyInfo - but this refactoring
is left for another day.

Part of: https://pagure.io/dogtagpki/issue/2610

Change-Id: I75d48de4d7040c9fb3a9a6d1e920c191aa757b70
(cherry picked from commit 2e198ddbe9ec5000ee7e14df0aa364b600d3aa92)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix generation of CRMF request for ECC keys</title>
<updated>2017-04-03T17:12:37+00:00</updated>
<author>
<name>Ade Lee</name>
<email>alee@redhat.com</email>
</author>
<published>2017-03-29T14:46:22+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=136d22953d05c459986a98465e4266bac37b44dc'/>
<id>136d22953d05c459986a98465e4266bac37b44dc</id>
<content type='text'>
Old CRMFPopClients add the OID for ECC public keys in the encryption
algorithm OID for no obvious reason (considering the OID was never
read on the server side to begin with).

Now that we do read and use that field, we need to set it properly,
and also special case on the server side to handle old clients.

Change-Id: I0d753e572206e9062746c879ce683978e5e657bd
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Old CRMFPopClients add the OID for ECC public keys in the encryption
algorithm OID for no obvious reason (considering the OID was never
read on the server side to begin with).

Now that we do read and use that field, we need to set it properly,
and also special case on the server side to handle old clients.

Change-Id: I0d753e572206e9062746c879ce683978e5e657bd
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix retrieval for symmetric keys</title>
<updated>2017-03-28T18:18:14+00:00</updated>
<author>
<name>Ade Lee</name>
<email>alee@redhat.com</email>
</author>
<published>2017-03-28T17:01:30+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=a5cbfd0fcd966604a5188352bb09042e3132eb32'/>
<id>a5cbfd0fcd966604a5188352bb09042e3132eb32</id>
<content type='text'>
Up to now, we have only ever used the same algorithm (DES3_CBC)
for key wrapping and encryption.  With  the change to use AES Keywrap
and AES CBC, we need to know which mechanism was used to encrypt/wrap
the secrets when returned to the client.

This means passing back more information to the client with the key
data, and also modifying the client to use this information to decode
the data correctly.

Change-Id: I7232085c1eedf38c63abad81db08acc912fa1da1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Up to now, we have only ever used the same algorithm (DES3_CBC)
for key wrapping and encryption.  With  the change to use AES Keywrap
and AES CBC, we need to know which mechanism was used to encrypt/wrap
the secrets when returned to the client.

This means passing back more information to the client with the key
data, and also modifying the client to use this information to decode
the data correctly.

Change-Id: I7232085c1eedf38c63abad81db08acc912fa1da1
</pre>
</div>
</content>
</entry>
<entry>
<title>Change CRMFPopClient to use AES-KeyWrap with padding</title>
<updated>2017-03-24T20:37:16+00:00</updated>
<author>
<name>Ade Lee</name>
<email>alee@redhat.com</email>
</author>
<published>2017-03-23T16:40:03+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=874825f2d8e41b276aa3674d0cff5912dc6a55fa'/>
<id>874825f2d8e41b276aa3674d0cff5912dc6a55fa</id>
<content type='text'>
Also made a couple of small changes to WrappingParams.
* Set the wrapIV to null when AES KeyWrap is used.  Trying to unpack
  the PKIArchiveOptions package with this IV set to null fails.
* removed superfluous this modifiers.

Added a parameter KEY_WRAP_PARAMETER_SET which is set in /etc/pki/pki.conf.
If this parameter is set to 0, we will use the old DES3 algorithms.  This
can be set by clients talking to old servers.

CRMFPopClient has the ability to automatically submit requests to
a CA.  In this case, we shouldcontact the server and determine the
version using InfoClient, and choose the algorithm accordingly.
We will implement this in a separate patch.

Change-Id: Ib4a99545cb59b62a96c272311595e96dda10979e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also made a couple of small changes to WrappingParams.
* Set the wrapIV to null when AES KeyWrap is used.  Trying to unpack
  the PKIArchiveOptions package with this IV set to null fails.
* removed superfluous this modifiers.

Added a parameter KEY_WRAP_PARAMETER_SET which is set in /etc/pki/pki.conf.
If this parameter is set to 0, we will use the old DES3 algorithms.  This
can be set by clients talking to old servers.

CRMFPopClient has the ability to automatically submit requests to
a CA.  In this case, we shouldcontact the server and determine the
version using InfoClient, and choose the algorithm accordingly.
We will implement this in a separate patch.

Change-Id: Ib4a99545cb59b62a96c272311595e96dda10979e
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor code that creates PKIArchiveOptions objects</title>
<updated>2017-03-23T20:16:08+00:00</updated>
<author>
<name>Ade Lee</name>
<email>alee@redhat.com</email>
</author>
<published>2017-03-23T04:20:32+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=5b7ce994b8698dca62c23e653b7a1cfeebf959e4'/>
<id>5b7ce994b8698dca62c23e653b7a1cfeebf959e4</id>
<content type='text'>
* Refactor code in CryptoUtil to parametrize the algorithms used.
* Moved WrappingParams to utils jar to allow correct compilation.
* Removed code that created a PKIArchiveOptions structure from
  CRMFPopClient and replaced with calls to CryptoUtil methods.
  Note that the algorithms have been left as DES3.  They will be
  changed to AES in the next patch.
* Converted code in AuthorityKeyExportCLI to use the new methods
  in CryptoUtil.
* Removed DRMTest  this code is no longer maintained or used.

Change-Id: I8f625f0310877dca68f6a01285b6ff4e27e7f34a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Refactor code in CryptoUtil to parametrize the algorithms used.
* Moved WrappingParams to utils jar to allow correct compilation.
* Removed code that created a PKIArchiveOptions structure from
  CRMFPopClient and replaced with calls to CryptoUtil methods.
  Note that the algorithms have been left as DES3.  They will be
  changed to AES in the next patch.
* Converted code in AuthorityKeyExportCLI to use the new methods
  in CryptoUtil.
* Removed DRMTest  this code is no longer maintained or used.

Change-Id: I8f625f0310877dca68f6a01285b6ff4e27e7f34a
</pre>
</div>
</content>
</entry>
</feed>
