Hi Pramod,
Are you planning on generating JWT's outside of the standard OAuth/OpenID flows?
1. The Generate ID Token assertion is used to generate a standard JSON message with specific claims i.e: audience, subject, authorized party, etc.
The JWT will need an extra step in using the 'Encode Json Web Token' assertion. This will Base64Url encode the message resulting in a compact, URL-safe token.
ie. eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
2. You would need to decode the JWT, optionally decrypting it first and/or verifying the signature of JWS/JWE were used.
3. JWK is a JSON data structure representing a key. Think something like a PEM file in JSON format. These keys can be included in a larger key set, JWKS, and it used along with JWT signing and encryption to verify a signature or decrypt the payload.
A few articles that may help and a sample:
How to sign a payload using Encode JSON web token - CA Knowledge
Encode JSON Web Token Assertion - CA API Gateway - 9.4 - CA Technologies Documentation
JWT Implementation