Problem with certificate

Hi!

i have problem with my certificate. I created a new key and then generated a new certificate for it through the functions: certificate export.
the certificate has been imported from my partner.

when the file is sent, the following message appears: "A problem occured during processing a send order: [IllegalArgumentException] "null alias passed to getCertificate." - the data has not been transmitted to the partner."

how can this be fixed?

Foren
AS2

Comments

Profile picture for user service

alexdko,

looks as if there is no certificate assigned for unknown reason to your partner. Please open the partner management, navigate to the related partner and assign a certificate. This should fix it.

Regards

Same problem here. Neither an imported nor a generated self-signed certificate work. I tried it on two machines with the latest and with an older version. I observe in the "System Events" (File Menu) that the configuration change also shows that somehow no certificate was selected, despite having selected the generated key:

Following is the relevant snippet of what shows under "Key data of the new configuration:":

Partner certificate (Inbound signature verification): --
Partner certificate (Outbound data encryption): --

When I go to the partner configuration, the certificates show up under Security in the first two drop-downs. It looks like a bug to me, or am I doing something wrong?

Philippe

Antwort auf von phil82

Seems I solved my problem, but I'm not sure what did the trick. Anybody who faces this issue, try the following:
1. go to file - preferences, tab: Security. Remove the password of encryption/signature keystore (second field) and save.
2. Restart Mendelson.
3. If it still doesn't work, you have to create a new keystore file. For this, use a (freeware) tool like Portecle or KeyStore explorer. Create an empty key store and save it as certificates.p12.
4. Rename the file certificates.p12 in the directory of Mendelson and replace it with the newly created keystore file.
5. Restart Mendelson and redo step 1.

Some of that helped me - it suddenly works again!

Hope it helps.

Philippe

Profile picture for user service

Antwort auf von phil82

To all - please do not follow this advice. Do not change the password or recreate any keystore using external tools - you might lose all your keys and certificates.

Regards

Antwort auf von service

Strange that you say that. The problem can easily be reproduced... Is there any other solution from Mendelson?
I just helped a client yesterday which had the same problem (with a freshly installed Mendelson AS2, there is nothing to lose). It helped to remove the password in the preferences and restart the tool. After that, the password is set automatically again and a self created key-certificate works!

We are facing the exact same issue. New sinc/enc cert import and assigned to a partner. When sending a message you get

[10:29:44 AM] A problem occured during processing a send order: [IllegalArgumentException] "null alias passed to getCertificate." - the data has not been transmitted to the partner.

Was there ever a work around? I did reverify a cert was assigned to both drop down for the partner

Antwort auf von B.J. van Dijk

Hi, if you have no other certs in the keystore yet and therefore have no risk to lose anything, I suggest applying my workaround written above (remove the password in the second Pw. field in the configuration).

A restart seems to resolve the issue. The next cert update behaved again in the same way (null cert....). And again a restart resolved it. It looks like some kind of internal list is not updated when the system is running, but only initialized when starting.

Looks like there is a sync problem. After stepping through the code I can see the new certificate is seen, but when you create a new message it is not. I added this to class SendOrderSender, public AS2Message send(CertificateManager certificateManager, Partner sender,
Partner receiver, Path[] files, String[] originalFilenames, String userdefinedId,
String subject)

certificateManager.rereadKeystoreCertificates();