After some round trips, MS decided the certificate was not valid, and I had to import it into Windows, and export the pfx again. This works, but I can only call it a workaround.
Apparently, RSA and ECDSA certificates are parsed by completely different code paths on Azure import, and therefore, have different requirements. I don't know what the actual requirements in the pfx container for ECDSA are, I can only show the information that openssl gives me when I analyze the working ECDSA container. In comparison to it, the openssl-created ECDSA container that was imported into windows (and does not work on Azure), and the working openssl-created RSA container that does work on Azure. It can be seen that the openssl ECDSA and RSA do not differ in anything but their key type.
WIndows export uses 2000 instead of 2048 iterations, and an index(?) as localKeyId instead of a hash. I can't find any information if this is allowed.
OpenSSL with ECDSA (works in windows, but not Azure):
- MAC: sha1, Iteration 2048
- MAC length: 20, salt length: 8
- PKCS7 Encrypted data: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
- Certificate bag
- Bag Attributes
- localKeyID: 29 49 CA 41 98 C0 21 E7 57 64 34 E3 AF 31 F6 BC 40 DA 62 15
- Bag Attributes
- Certificate bag
- Bag Attributes: <No Attributes>
- Certificate bag
- PKCS7 Data
- Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
- Bag Attributes
- localKeyID: 29 49 CA 41 98 C0 21 E7 57 64 34 E3 AF 31 F6 BC 40 DA 62 15
- Key Attributes: <No Attributes>
Windows with ECDSA, works in Azure:
- MAC: sha1, Iteration 2000
- MAC length: 20, salt length: 20
- PKCS7 Data
- Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
- Bag Attributes
- localKeyID: 01 00 00 00
- friendlyName: {698FDD0F-8C63-425F-B478-2221DDD76285} Microsoft CSP Name: Microsoft Software Key Storage Provider
- Key Attributes
- X509v3 Key Usage: 88
- PKCS7 Encrypted data: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2000
- Certificate bag
- Bag Attributes
- localKeyID: 01 00 00 00
- Bag Attributes
- Certificate bag
OpenSSL with RSA 3k:
- MAC: sha1, Iteration 2048
- MAC length: 20, salt length: 8
- PKCS7 Encrypted data: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
- Certificate bag
- Bag Attributes
- localKeyID: 80 6B 1F 2A 49 57 20 49 19 BE 14 A6 7C FE 31 11 3D 0F 16 2E
- Bag Attributes
- Certificate bag
- Bag Attributes: <No Attributes>
- Certificate bag
- PKCS7 Data
- Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
- Bag Attributes
- localKeyID: 80 6B 1F 2A 49 57 20 49 19 BE 14 A6 7C FE 31 11 3D 0F 16 2E
- Key Attributes: <No Attributes>
- Bag Attributes
- Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
So, if anyone else has this problem, just use Windows in between. Also solves the Problem of having to use SHA1 and TripleDES ... very up-to-date methods, I would say.
Yours,
Sebastian
[edit: formatting got warped by posting]