joiningdata / lollipops

Lollipop-style mutation diagrams for annotating genetic variations.
GNU General Public License v3.0
182 stars 70 forks source link

Get https://pfam.xfam.org/protein/P04637/graphic: x509: certificate signed by unknown authority #56

Closed microbioin closed 2 years ago

microbioin commented 2 years ago

When using just TP53 for generating the iimage, it pops out " x509: certificate signed by unknown authority". This may be caused by pfam certification? Can this be fixed? thank you!

pbnjay commented 2 years ago

Hello, I've seen this before when the connection is proxied by an SSL man-in-the-middle tunnel (specifically Cisco Umbrella). There are basically two options to deal with it... First, if you can still download the URL mentioned, the easiest workaround is that you can provide the data to the lollipops tool with -l=filename.json - at a command-line try curl -k -o data.json https://pfam.xfam.org/protein/P04637/graphic followed by ./lollipops -l=data.json R273C R175H T125 R248Q

For the second option is more future proof, but unfortunately you will need to talk to your institution's IT support to determine how to correctly install the root authority they are using for it (or they can add the pfam domain to a safelist). e.g. On Linux you may need to set SSL_CERT_FILE or SSL_CERT_DIR

If you know your way around Go code, the third option is to avoid it completely by setting InsecureSkipVerify on the http client something like this (completely untested and unsupported, use at your own risk):

tr := &http.Transport{
    TLSClientConfig: &tls.Config{
        InsecureSkipVerify: true
    },
}
client := &http.Client{Transport: tr}
resp, err := client.Get(url)

That would replace the code here: https://github.com/joiningdata/lollipops/blob/master/data/http.go#L11

I hope this gives you a good direction!