IWKeyManager
API - IWKeyManager
Constructor
public IWKeyManagerImpl(String keyFile_pathWithName) throws IWException
Description
please call the constructor by designating the name and path
parameter
Type
Name
Description
String
name
The file name of Wallet (file path included)
Throws
IWException
isUnLock
public boolean isUnLock()
Description
Check whether the Wallet status is unlocked or not
lock
public boolean lock()
Description
For the privacy data protection, change wallet to the Lock status
Return
boolean: true (Locked successfully)
unLock
public void unLock(String pwdOrAlias, OnUnLockListener listener) throws IWException
Description
Changing the status of the Wallet to unlock by using password
Parameter
Type
Name
Description
String
pwdOrAlias
Password
OnUnLockListener
listener
Callback
OnUnLockListener
onSuccess()
onFail(int errCode)
Type
Name
Description
int
errCode
Occuring error code
onCancel()
Throws
IWException
isExistKey
public boolean isExistKey(String keyId) throws IWException
Description
Use Key ID to check whether the corresponding key exists.
Constraint: only works when it is on a unlock status
Parameter
Type
Name
Description
String
keyId
Key ID
Return
boolean: true (the corresponding key exists to the Key ID)
Throws
IWException
addKey
public void addKey(IWKey key) throws IWException
Description
Add Key
Key Manager operates only on the unlock status
Parameter
Type
Name
Description
IWKey
key
Public Key and Private Key to store
Throws
IWException
removeKey
public void removeKey(String keyId) throws IWException
Description
Use Key ID to remove the corresponding Key.
Key Manager operates only on the unlock status.
Parameter
Type
Name
Description
String
keyId
Key ID of the Key to be removed
Throws
IWException
getKeyIdList
public List<String> getKeyIdList() throws IWException
Description
Search the whole list of the Key ID that is stored.
Return
List< String > : List of Key ID
Throws
IWException
getPublicKey
public String getPublicKey(String keyId) throws IWException
Description
Use Key ID to search Public key.
Parameter
Type
Name
Description
String
keyId
Key ID of the Key to search
Return
String: Public Key - [Base58]
Throws
IWException
getSign
public byte[] getSign(String keyId, byte[] source) throws IWException
Description
Use Key ID to sign the source.
Constraint: only works when it is on a unlock status
Parameter
Type
Name
Description
String
keyId
Key Id of the Key to be used for signing
byte[]
source
Source for signing
Return
byte[] : (Signature) - [byte array]
Throws
IWException
addClaim
public boolean addClaim(String claimJSON) throws IWException
Description
Add Claim(JSON)
Constraint: only works when it is on a unlock status
Parameter
Type
Name
Description
String
claimJSONtp
Claim(JSON) to be stored
Return
boolean: true (Stored successfully)
Throws
IWException
getClaims
public List<VerifiableClaim> getClaims() throws IWException
Description
search the whole list of claims that are stored
Return
List< VerifiableClaim >: the whole list of claims that are stored
Throws
IWException
Filtering Condition
Filter condition has to obey below rules :
space must be included between object, condition, and value
It follows property's name
#object name condition
object must be connnected with dot(.)
like below
claim.id
#bool value action condition
== : equal value
#string object action condition
== : exactly same value
!= : without that value
#number value action condition
== : equal value
!= : not equal value
> : greater than the value
>= : greater than the value or equal
< : less than the value
<= : less than the value or equal
e.g.
"id == somewhat"
getClaims(filter)
public List<VerifiableClaim> getClaims(String filter) throws IWException
Description
Get specific Claims with filtering Condition
Parameter
Type
Name
Description
String
filter
Condition for filtering
Return
List< VerifiableClaim > : Array of Claims
Throws
IWException
removeClaim(int) - No indication for exception
public void removeClaim(int index) throws IWException
Description
Remove claim by using Index.
Constraint: Only works when it is on a unlock status
Parameter
Type
Name
Description
int
index
Claim's index
removeClaim(VerifiableClaim)
public void removeClaim(VerifiableClaim claim) throws IWException
Description
Search then remove a claim from the list that matches with the inputted claim
Parameter
Type
Name
Description
VerifiableClaim
claim
Claim object
Throws
IWException
removeClaims(filter)
public void removeClaims(String filter) throws IWException
Description
Use filtering functions to remove a searchable claim
Parameter
Type
Name
Description
String
filter
filtering condition
Throws
IWException
getECIESEncryptBytes
public byte[] getECIESEncryptBytes(String keyId, byte[] nonce, String publicKey, byte[] source, AESType aesType) throws IWException
Description
Get encrypted data via the Elliptic Curve Integrated Encryption Scheme using AES Encryption
Constraint: Only works when it is on a unlock status
Parameter
Type
Name
Description
String
keyId
Key ID
byte[]
nonce
random value
String
publicKey
public key(Base58 encoded)
byte[]
source
plain text to encrypt
AESType
aesType
AES128 or AES256
Return
byte[]: encrypted data
Throws
IWException
getECIESDecryptBytes
public byte[] getECIESDecryptBytes(String keyId, byte[] nonce, String publicKey, byte[] source, AESType aesType) throws IWException
Description
Get decrypted data via Elliptic Curve Integrated Decryption Scheme using AES Decryption
Key Manager status must be at an unlocked state.
Parameter
Type
Name
Description
String
keyId
Key ID
byte[]
nonce
random value
String
publicKey
public key(Base58 encoded)
byte[]
source
ciphertext
AESType
aesType
AES128 or AES256
Return
byte[] : Decrypted Data for Success
Throws
IWException
readKeyFileHeader
public String readKeyFileHeader() throws IWException
Description
Search Wallet's Header with the JSON format.
Return
String: Wallet's Header (JSON)
Throws
IWException
deleteWalletFile - Insufficient
public void deleteWalletFile()
Description
Remove the Wallet file. (if exists)
makeRequestVerifiableClaim
public String makeRequestVerifiableClaim(String dId, Privacy privacy)
Description
create a request with full-text(JSON) for issuing the Verifiable Claim
Parameter
Type
Name
Description
String
did
Signer's DID
Privacy
privacy
Privacy Object of the signer
Return
String: request with full-text(JSON) for issuing the Verifiable Claim
Next Step
makeProof
makeRequestVerifiableClaimCopy
public String makeRequestVerifiableClaimCopy(String verifiableClaimJSON, Privacy privacy, ServiceProviderProfile spProfile, String expires) throws IWException
Description
Create the Verifiable Claim Copy(JSON)
Parameter
Type
Name
Description
String
verifiableClaimJSON
Verifiable Claim(JSON)
Privacy
privacy
Signer's Privacy Object
ServiceProviderProfile
spProfile
Service Provider Object
String
expires
expiry date
Return
String: Verifiable Claim Copy JSON String
Throws
IWException
Next Step
makeProof
makeProof
public String makeProof(String verifiableClaimJSON, String signKeyId, byte[] nonce, IWKeyManager keyManager) throws IWException
Description
Create proof for the submission.
Parameter
Type
Name
Description
String
verifiableClaimJSON
Verifiable Claim(JSON)
String
signKeyId
Key ID of the Key for signature
byte[]
nonce
random value
IWKeyManager
keyManager
the instance of the IWKeyManager interface
Return
String: JSON String consisting of Verifiable Ciam with Proof
Throws
IWException
Last updated
Was this helpful?