I was working on a project where two programs are exchanging information over a network. I am having them generate a public/private RSA key pair to encrypt traffic.
It seems that one of the programming language environments has a built-in limit of using SHA-1 in the processing of RSA asynchronous encryption.
Can someone put into context how "bad" this is, having to drop to using SHA-1 for this purpose? Is the risk high enough that I should explore an alternative means of generating the RSA keys, like an external program helper to bundle with the limited application?
EDIT: As per Robert's question, I'm generating a public/private keypair, then the public key is sent to remote clients. One program is written in Go, and it uses the public key to encrypt text being sent using:
hash := sha1.New()
btCipherText, err := rsa.EncryptOAEP(hash, rand.Reader, keyPub, btMessage, nil)
Using sha512 didn't work because the other language, Xojo, doesn't seem to support it, although I'm in the process of asking about it with people who may be more familiar with the that language. The EncryptOAEP uses the SHA hash as part of the encryption process...after that, I can send the btCipherText to the client over the network.