Hello Heighen,
I extened a bit the concept (gold plating). The ideal thing is to create an
extension as you did at OpensslNative.c that supports pkcs11. Can i provide
a JIRA and do the same thing, maintaining the same interface?
Best Regards,
Giorgio

On Mon, May 16, 2016 at 5:09 AM, Chen, Haifeng <haifeng.c...@intel.com>
wrote:

> Hi Zoppi,
> The current API design of Commons Crypto basically follows the similar way
> of the Cipher API and Stream API in java.
>
> You mentioned another API style. I am not so familiar with HSM.
> So the question is: Are there any specific reasons that Cipher style API
> cannot be used for the implementation of cryto using HSM?
>
> Thanks,
> Haifeng
>
>
> From: Giorgio Zoppi [mailto:giorgio.zo...@gmail.com]
> Sent: Saturday, May 14, 2016 3:48 AM
> To: dev@commons.apache.org
> Subject: [CRYPTO] High level API for Common crypto
>
> Dear all,
> I have been really happy to see an effort for a crypto api in apache.org<
> http://apache.org>, so i decided to provide for comment a design of an
> high level. Many cryptosystem around the world are using hardware security
> modules so the idea to integrate the that in an opensource api is pretty
> cool. In the attached image you may see the first raw design. I will
> explain the rational:
> 1. CryptoOperation: this is the interface that you want to extend for your
> own operation. That they may be simple or composite. In the cryptoworld you
> may want to execute and AES and than from that cipherered you may want do
> something else, an xor with some padding for example. So it is nice to
> provide composite for this reason. Or another example Create a key pair
> with NIST 192 and than sign some data.
> 2. SimpleCryptoOperation: AESCiphering, ECPublicKeyCrreating. A single
> shot of execution.
> 3. CompoundCryptoOperation: a composite (a la compositte design pattern)
> of single operation. The executor of the operation will get the output of
> the first operation as input of the second operation.
> 4. CryptoProcessor: An executor of cryptographic operation (simple or
> composite) potentially may be local or remote. The CryptoProcessor is the
> interface.
> 5. OpenSSLCryptoProcessor: this the backend of the CryptoProcessor
> 6. PKCS11CryptoProcessor: this is the backend for any PCKS11 device for
> the processor. For example Luna SafeNet HSM, Thales HSM or SoftHSM.
> Is this kind of effort needed or appreciated in the context of Common
> Crypto?
> Any comment? This is essentially a request for comment.
>

Reply via email to