IC4J Java Agent currently supports 3 different identity mechanisms. To learn more about the Internet Computer identity mechanisms refer to the Dfinity documentation.
IC4J Agent uses the open source Java cryptography library Bouncy Castle in its implementation.
If BasicIndentity or Secp256k1Identity is being used, define Bouncy Castle as the Java security provider in the code, before an Identity is created.
Security.addProvider(new BouncyCastleProvider());
AnonymousIdentity
AnonymousIdentity is the default mechanism in the IC4J Agent ; this means that if the identity is not specified explicitly , AnonymousIdentity will be assigned implicitly.
To explicitly create the AnonymousIdentity object, the AnonymousIdentity Constructor can be used.
Identityidentity=newAnonymousIdentity();
BasicIdentity (ED25519)
The Internet Computer provides support for ED25519 signatures. The dfx tool can be used to generate the identity PEM file.
dfx identity new alice
cp ~/.config/dfx/identity/xxx/identity.pem alice.pem
Either the Java Reader or Java Path can be used to read the ED22219 PEM resource to create the BasicIdentity object.