The x509CertificateFromBytes method was removed from the CertUtil class in commit ‘aacbf5de51a9d510b12125010231c930a2732c9c’ (back when it was in the org.xdi.oxauth.util and not the org.gluu.oxauth.util package).
The python script ‘UserCertExternalAuthenticator.py’ was still referencing the x509CertificateFromBytes method and that is what was causing the error.
I was able to get it working again by changing the script using in the following ways:
First I added these imports:
```
from java.security.cert import CertificateFactory
from java.io import ByteArrayInputStream
```
Then I changed:
```
def certFromString(self, x509CertificateEncoded):
x509CertificateDecoded = base64.b64decode(x509CertificateEncoded)
return CertUtil.x509CertificateFromBytes(x509CertificateDecoded)
```
To:
```
def certFromString(self, x509CertificateEncoded):
x509CertificateDecoded = base64.b64decode(x509CertificateEncoded)
certFactory = CertificateFactory.getInstance("X.509");
return certFactory.generateCertificate(ByteArrayInputStream(x509CertificateDecoded));
```
I’m not sure if that is the best way or not but it works and only required a change to the .py script.
David