<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pki.git/base/ca/src/com, branch dev2</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>Session-based nonces.</title>
<updated>2013-02-04T17:06:40+00:00</updated>
<author>
<name>Endi Sukma Dewata</name>
<email>edewata@redhat.com</email>
</author>
<published>2013-01-23T18:10:52+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=6259ba064f4c17b7f6891fcb61501103348936be'/>
<id>6259ba064f4c17b7f6891fcb61501103348936be</id>
<content type='text'>
Previously nonces were stored in a global map which might not scale
well due to some issues:
1. The map uses the nonces as map keys. There were possible nonce
   collisions which required special handling.
2. The collision handling code was not thread safe. There were
   possible race conditions during concurrent modifications.
3. The map was shared and size limited. If there were a lot of
   users using the system, valid nonces could get pruned.
4. The map maps the nonces to client certificates. This limits
   the possible authentication methods that can be supported.

Now the code has been modified such that each user has a private map
in the user's session to store the nonces. Additional locking has been
implemented to protect against concurrent modifications. The map now
uses the target of the operation as the map key, eliminating possible
collisions and allowing the use of other authentication methods. Since
this is a private map, it's not affected by the number of users using
the system.

Ticket #474
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously nonces were stored in a global map which might not scale
well due to some issues:
1. The map uses the nonces as map keys. There were possible nonce
   collisions which required special handling.
2. The collision handling code was not thread safe. There were
   possible race conditions during concurrent modifications.
3. The map was shared and size limited. If there were a lot of
   users using the system, valid nonces could get pruned.
4. The map maps the nonces to client certificates. This limits
   the possible authentication methods that can be supported.

Now the code has been modified such that each user has a private map
in the user's session to store the nonces. Additional locking has been
implemented to protect against concurrent modifications. The map now
uses the target of the operation as the map key, eliminating possible
collisions and allowing the use of other authentication methods. Since
this is a private map, it's not affected by the number of users using
the system.

Ticket #474
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolved Trac Ticket 367 - pkidestroy does not remove connector</title>
<updated>2013-01-15T14:28:38+00:00</updated>
<author>
<name>Ade Lee</name>
<email>alee@redhat.com</email>
</author>
<published>2012-12-20T22:38:13+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=1cceecafb8050ec362a9c9568d36d52d3fe4117e'/>
<id>1cceecafb8050ec362a9c9568d36d52d3fe4117e</id>
<content type='text'>
* Added RESTful servlet to add/remove a KRA connector from the CA.
* Modified ACL to allow KRA subsystem user to remove connector.
* Modified connector code to allow the connector to be replaced without a server restart.
* Added functionality to pki CLI to add/remove connector
* Added code to pkidestroy to remove the connector (using both pki CLI and sslget)
  When the issues with pki connection are resolved, we will use that method instead.
* Modified sslget to accept HTTP return codes != 200.  In this case, we were returning
  204 - which is perfectly legitimate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Added RESTful servlet to add/remove a KRA connector from the CA.
* Modified ACL to allow KRA subsystem user to remove connector.
* Modified connector code to allow the connector to be replaced without a server restart.
* Added functionality to pki CLI to add/remove connector
* Added code to pkidestroy to remove the connector (using both pki CLI and sslget)
  When the issues with pki connection are resolved, we will use that method instead.
* Modified sslget to accept HTTP return codes != 200.  In this case, we were returning
  204 - which is perfectly legitimate.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added ACLInterceptor.</title>
<updated>2012-11-08T16:20:05+00:00</updated>
<author>
<name>Endi Sukma Dewata</name>
<email>edewata@redhat.com</email>
</author>
<published>2012-10-10T09:38:05+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=cb209df95c4dee11f2a912e20b417fa3bc41c88f'/>
<id>cb209df95c4dee11f2a912e20b417fa3bc41c88f</id>
<content type='text'>
Previously ACL checking was done in PKIRealm by matching the URL.
This code has been replaced by ACLInterceptor which will intercept
RESTEasy method invocations. This allows more precise mapping of
REST methods to ACL entries in acl.ldif.

Ticket #287
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously ACL checking was done in PKIRealm by matching the URL.
This code has been replaced by ACLInterceptor which will intercept
RESTEasy method invocations. This allows more precise mapping of
REST methods to ACL entries in acl.ldif.

Ticket #287
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed synchronization problem in CertificateRepository.</title>
<updated>2012-10-29T15:38:29+00:00</updated>
<author>
<name>Endi Sukma Dewata</name>
<email>edewata@redhat.com</email>
</author>
<published>2012-09-26T02:40:04+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=748605a324266bb515a3d1124bc55deb3be4df71'/>
<id>748605a324266bb515a3d1124bc55deb3be4df71</id>
<content type='text'>
Some synchronized methods in CertificateRepository may block
modifyCeritifcateRecord() too long, so they have been moved
into CRLIssuingPoint and CertStatusUpdateThread.

Ticket #313
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some synchronized methods in CertificateRepository may block
modifyCeritifcateRecord() too long, so they have been moved
into CRLIssuingPoint and CertStatusUpdateThread.

Ticket #313
</pre>
</div>
</content>
</entry>
<entry>
<title>Added conditions for security domain REST service.</title>
<updated>2012-10-23T20:25:42+00:00</updated>
<author>
<name>Endi Sukma Dewata</name>
<email>edewata@redhat.com</email>
</author>
<published>2012-10-23T14:32:24+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=8687740539fcf21a63b362320482e8161f5e9781'/>
<id>8687740539fcf21a63b362320482e8161f5e9781</id>
<content type='text'>
The CertificateAuthorityApplication has been modified to deploy
the REST service for security domain only if the server has been
configured with a new security domain.

Ticket #309
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The CertificateAuthorityApplication has been modified to deploy
the REST service for security domain only if the server has been
configured with a new security domain.

Ticket #309
</pre>
</div>
</content>
</entry>
<entry>
<title>Added REST account service.</title>
<updated>2012-10-22T22:12:20+00:00</updated>
<author>
<name>Endi Sukma Dewata</name>
<email>edewata@redhat.com</email>
</author>
<published>2012-10-08T19:50:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=1723a2ecd9d4d741ecd6d292712eeaea9d19bde9'/>
<id>1723a2ecd9d4d741ecd6d292712eeaea9d19bde9</id>
<content type='text'>
A REST account service has been added to allow client to login
to establish a session and to logout to destroy the session. This
way multiple operations can be executed using the same session
without having to re-authenticate.

Ticket #357
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A REST account service has been added to allow client to login
to establish a session and to logout to destroy the session. This
way multiple operations can be executed using the same session
without having to re-authenticate.

Ticket #357
</pre>
</div>
</content>
</entry>
<entry>
<title>Enabled authentication for security domain REST interface.</title>
<updated>2012-10-18T15:06:54+00:00</updated>
<author>
<name>Endi Sukma Dewata</name>
<email>edewata@redhat.com</email>
</author>
<published>2012-09-06T21:33:48+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=168d95446c3a7ae8643128a51fa86dd326e3a6a8'/>
<id>168d95446c3a7ae8643128a51fa86dd326e3a6a8</id>
<content type='text'>
The REST interface for security domain has been refactored and
configured such that it requires authentication. A CLI has been
added to get an installation token.

Ticket #309
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The REST interface for security domain has been refactored and
configured such that it requires authentication. A CLI has been
added to get an installation token.

Ticket #309
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed exceptions during shutdown.</title>
<updated>2012-08-28T19:58:43+00:00</updated>
<author>
<name>Endi Sukma Dewata</name>
<email>edewata@redhat.com</email>
</author>
<published>2012-08-16T05:39:48+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=4549370d8e38d91ca2d89404c6f62f7e6358f328'/>
<id>4549370d8e38d91ca2d89404c6f62f7e6358f328</id>
<content type='text'>
The shutdown() methods in several classes have been fixed to allow
more graceful shutdown and clean restart. There are two types of
object attributes that need to be handled differently.

Attributes that are initialized by the constructor should not be
nulled during shutdown because they won't be reinitialized during
restart. If they require a cleanup (e.g. emptying collections,
closing LDAP connections) it's not necessary to check for null
before calling the cleanup method because they're never null.

For attributes that are initialized during init(), it may not be
necessary to do a cleanup or null the attribute since they might
still be used by other threads and they will be reinitialized
during restart so the old objects will be garbage collected. If
they do need a cleanup they should be checked for null because
they might still be null due to init() failure or initialization
conditionals.

If the attributes are initialized conditionally, the logic has been
modified to ensure the attributes are either initialized or set to
null.

Ticket #247
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The shutdown() methods in several classes have been fixed to allow
more graceful shutdown and clean restart. There are two types of
object attributes that need to be handled differently.

Attributes that are initialized by the constructor should not be
nulled during shutdown because they won't be reinitialized during
restart. If they require a cleanup (e.g. emptying collections,
closing LDAP connections) it's not necessary to check for null
before calling the cleanup method because they're never null.

For attributes that are initialized during init(), it may not be
necessary to do a cleanup or null the attribute since they might
still be used by other threads and they will be reinitialized
during restart so the old objects will be garbage collected. If
they do need a cleanup they should be checked for null because
they might still be null due to init() failure or initialization
conditionals.

If the attributes are initialized conditionally, the logic has been
modified to ensure the attributes are either initialized or set to
null.

Ticket #247
</pre>
</div>
</content>
</entry>
<entry>
<title>Reorganized REST common classes.</title>
<updated>2012-08-15T17:07:43+00:00</updated>
<author>
<name>Endi Sukma Dewata</name>
<email>edewata@redhat.com</email>
</author>
<published>2012-08-11T14:47:39+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=1aa02e5207514d210e903d23e1d698b85fc29344'/>
<id>1aa02e5207514d210e903d23e1d698b85fc29344</id>
<content type='text'>
The common classes used by REST client and services have been moved
into the com.netscape.certsrv.&lt;component&gt; packages.

Ticket #215
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The common classes used by REST client and services have been moved
into the com.netscape.certsrv.&lt;component&gt; packages.

Ticket #215
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleaned up REST common class names.</title>
<updated>2012-08-15T17:07:26+00:00</updated>
<author>
<name>Endi Sukma Dewata</name>
<email>edewata@redhat.com</email>
</author>
<published>2012-08-11T13:37:52+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/edewata/public_git/pki.git/commit/?id=f554dc2aa0478aa23f7e986b6779091f7d520bf5'/>
<id>f554dc2aa0478aa23f7e986b6779091f7d520bf5</id>
<content type='text'>
The REST common classes have been renamed for better clarity
and consistency.

Ticket #259
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The REST common classes have been renamed for better clarity
and consistency.

Ticket #259
</pre>
</div>
</content>
</entry>
</feed>
