Hi, I am using “openssl-1.0.1h” to do X509 certificate validation for accessing from app1 to app2 (these are 2 separate applications).
- In app2, I have uploaded the X509 certificate generated by app1 and I am using the following code segment in app2 to verify the certificate (when app1 tries to login to app2). - This code works fine for all user names, except usernames containing a ! symbol (exclamation). EVP_MD_CTX_init(ctx); EVP_VerifyInit(ctx, md); EVP_VerifyUpdate(ctx, hashdata, strlen(hashdata)); err = EVP_VerifyFinal(ctx, x509_sig, sigsize, pkey); where pkey = public key retrieved from the certificate. hashdata is a string calculated using the username as follows: "system_name:domain\username: ...." - EVP_VerifyFinal() returns success with username "test". - But using "!test" fails at EVP_VerifyFinal() which returns an error value --> err = 0 (67702888) Here ! seems to be the problem character since nothing else is different b/w the 2 cases. I am curious to know the following: a) Do X509 certificates treat ! character differently? b) Is there a way to handle usernames with a ! correctly, so that certificate check passes? c) Since hashdata is passed to EVP_VerifyUpdate(), do I need to take care of anything while forming “hashdata” with the username? Any response would be greatly appreciated. Thanks and regards, Rituparna Mitra