TPTP feature: 195644
Rough workload estimate in person weeks:
| Process |
Sizing |
Names of people doing the work |
| Design |
0.5 |
|
| Code |
1 |
| Test |
0.5 |
| Documentation |
0.2 |
| Build and infrastructure |
0 |
|
Code review & other committer work
(e.g. check-in, contribution tracking)
if this is to be contributed by someone who
is not a committer in the component
|
0 |
N/A - will be done by committer |
| Total |
2.2 |
Requirement summary
This feature should cover the work required to enhance TPTP Agent Controller to provide a pluggable layer for
external ssl providers. Pluggable module with required ssl provider (JSSE, OpenSSL) should be
loaded dynamically during AC startup. SSL provider to use should be set in AC configuration file.
User interactions
Code interfaces
Should provide API to implement by pluggable modules.
Design summary
Suggested the following AC actions to use and API to be implemented by ssl providers:
- Agent Controller processes the configuration file to get if security is
enabled, ssl provider to use and ssl provider's library to load.
- AC loads required library and initializes it with sslInit()
method.
- AC can use sslGetProviderName() and sslGetProviderInfo() to get information about this ssl
provider.
- With incoming client connection request, AC calls sslAccept() to
open new ssl session.
- AC uses sslRead() and sslWrite() methods for data
exchange with the client.
- AC uses sslClose() to close ssl session and free allocated
resources when the client disconnects.
All ssl specific things should be incapsulated into ssl providers and AC delegates all ssl processing to them.