SoftHSMv2 | OpenDNSSEC handles and stores its cryptographic keys | Cryptography library
kandi X-RAY | SoftHSMv2 Summary
kandi X-RAY | SoftHSMv2 Summary
OpenDNSSEC handles and stores its cryptographic keys via the PKCS#11 interface. This interface specifies how to communicate with cryptographic devices such as HSM:s (Hardware Security Modules) and smart cards. The purpose of these devices is, among others, to generate cryptographic keys and sign information without revealing private-key material to the outside world. They are often designed to perform well on these specific tasks compared to ordinary processes in a normal computer. A potential problem with the use of the PKCS#11 interface is that it might limit the wide spread use of OpenDNSSEC, since a potential user might not be willing to invest in a new hardware device. To counter this effect, OpenDNSSEC is providing a software implementation of a generic cryptographic device with a PKCS#11 interface, the SoftHSM. SoftHSM is designed to meet the requirements of OpenDNSSEC, but can also work together with other cryptographic products because of the PKCS#11 interface.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of SoftHSMv2
SoftHSMv2 Key Features
SoftHSMv2 Examples and Code Snippets
Community Discussions
Trending Discussions on SoftHSMv2
QUESTION
I am making use of SoftHSM to generate isometric keys in Java. Currently, I need to wrap private keys using the wrapKey function provided in IAIK PKCS11 library (JAVA) and I'm having a problem with the key wrapping operation in cipher.getInstance()
. The application throws CKR_MECHANISM_INVALID and all existing information on the net doesn't seem to give a suitable answer on how to fix this.
Currently, it seems that this is a problem to do with the mechanism of IAIK as it is currently making use of CKM_AES_CBC_PAD algorithm for key wrapping.
It is unclear how to switch between CKM_AES_CBC_PAD and the ones suggested in the github issue created for the problem on SoftHSM's github page see: https://github.com/opendnssec/SoftHSMv2/issues/229 and https://github.com/opendnssec/SoftHSMv2/issues/405.
Two things that are clear is that this is a known issue and the authors suggest to use CKM_AES_KEY_WRAP, CKM_AES_KEY_WRAP_PAD, CKM_RSA_PKCS, or CKM_RSA_PKCS_OAEP. however, I am unable to find samples using the suggested options and after hours of digging through the libraries, I think its easier to just ask here.
Initial Question: I would like to switch mechanism from CKM_AES_CBC_PAD to CKM_AES_KEY_WRAP during keywrap
Update: After further debugging, it seems the issue may be even more complex than switching between mechanism. Due to this, i would prefer to know instead:
New Question: What is the best way to implement key wrapping using the above listed technologies in JAVA
...ANSWER
Answered 2019-May-16 at 13:06We found that it does not work with Cipher interface because IAIK by default tries to use method that is not supported by soft hsm. We had to use low level IAIK methods to wrap and unwrap. In low level method you can change mechanism like this:
QUESTION
I am using SoftHSMv2
as cryptoki library for both Android and PC. I want to using Android device to replace an USB token and signing on PC with a certificate and key pair stored in my Android app data.
Just import the certificate from Android into PC's cert store are enough to PKCS#11 perform signing?
Do I need modify PKCS#11 library to push data to Android or any other modify?
ANSWER
Answered 2017-Mar-22 at 21:08Since you did not specify which operating systems on PC you are targeting I'm assuming that Windows one of them.
Windows itself doesn't support PKCS#11 standard and it has its own interface called CryptoAPI. So, if you want to perfom signing operation in such programs as Microsoft Outlook you need to implement a Cryptographic Service Provider (CSP) or Key Storage Provider (KSP). Or if your android device represents in system as a smart card you could implement Smart Card Minidriver. Schematic it will be something like this:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install SoftHSMv2
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page