有解密和签名接口。我想从 PHP 迁移到 Golang。PHP函数如下:function getSignature($param){if (is_string($param)) {    $file_private = 'file.p12';    if (!$cert_store = file_get_contents($file_private)) {        return "Error: Unable to read the cert file\n";    }    $signature = "";    $algo = "sha256WithRSAEncryption";    $password = "PASSWORD";    $private_key_file = openssl_pkcs12_read($cert_store, $cert_info, $password);    if ($private_key_file)    {        $private_key = $cert_info['pkey'];        openssl_sign($param, $signature, $private_key, $algo);        return htmlentities(base64_encode($signature));    }}return false;}我想用golang来实现。我怎样才能转换成golang?解决了这实际上是我在 golang 中的代码:func Sign(privateKey *rsa.PrivateKey, data string) (string, error) {h := crypto.SHA256.New()h.Write([]byte(data))hashed := h.Sum(nil)sign, err := rsa.SignPKCS1v15(rand.Reader, privateKey, crypto.SHA256, hashed)if err != nil {    return "", err}return base64.RawURLEncoding.EncodeToString(sign), err}func read_keys() {b, err := ioutil.ReadFile("file.p12")if err != nil {    fmt.Println(err)}password := "PASSWORD"privk, _, err := pkcs12.Decode(b, password)if err != nil {    fmt.Println(err)}pv := privk.(*rsa.PrivateKey)sign, _ := Sign(pv, "Your String Data")fmt.Print(sign)}