Signature calculation sample codes
Java
.NET
PHP
java.security.PrivateKey privateKey = getPrivateKey(); //fetch your private key
java.security.Signature signature = Signature.getInstance("SHA256withRSA");
signature.initSign(privateKey);
signature.update(concatenatedValues.toString().getBytes(StandardCharsets.UTF_8));
byte[] sigBytes=signature.sign();
String sigStr=Base64.encode(sigBytes);
public static string sign(string valueToSign, String privateKey)
{
byte[] keybytes= parseKey(privateKey);
byte[] toSign = System.Text.Encoding.UTF8.GetBytes(valueToSign);
RSACryptoServiceProvider RSAalg = DecodePrivateKeyInfo(keybytes);
byte[] signature=RSAalg.SignData(toSign, "SHA256"); //RSAwithSHA256
string sigStr= Convert.ToBase64String(signature);
return sigStr;
}
value_to_sign = $value_to_sign;
$this->private_key = $this->set_private_key( $private_key );
$this->signature_value = $this->sign();
}
private function sign() {
openssl_sign( $this->value_to_sign, $signature, $this->private_key, OPENSSL_ALGO_SHA256 );
return base64 _ encode( $signature ); // Please remove spaces in base64 function
}
private function set_private_key( $key ) {
if ( ! $this->starts_with( $key, '-----BEGIN PRIVATE KEY-----' ) ) {
return "-----BEGIN PRIVATE KEY-----\n" . $key . "\n-----END PRIVATE KEY-----";
}
return $key;
}
private function starts_with( $string, $startString ) {
$len = strlen( $startString );
return ( substr( $string, 0, $len ) === $startString );
}
}
$private_key = ''; // add your private key here
$value_to_sign = ''; // add the canonicalized message here
$sign = new Signature( $value_to_sign, $private_key );
echo $sign;