I generate a key on the HSM through the Graphene library, except when I try to get the public key raw value by getting its 'pointEC' attribute (equivalent to CKA_EC_POINT
), I get a 134 character string:
044104c9d5b656518b5b7e0d747b86328c37a0d507de9b3863a43e77b559ab60c0f9b15985f83a8c20588164c0634f98eb4a4cf8ce70020e94ae21a247904fac8b1010
Now, I understand for this standard there's an X and Y integer, but I read that some math is required to make them valid for generating an Ethereum address. I also understand that the '04' means that it is an uncompressed public key, but I do not know why the '4104' keeps popping up or what it means. Are these just different ways of representing the same data? Could I just take the last 128 characters and hash it for a valid Ethereum address?