The tutorial json is only the example. You may also have an test in the following site.
https://mars.restgate.net/intro/en/suite_en_rakuten.html#cipher
Generate a random Public and Private key pair of RSA.
https://acrosuite-cipher.p.rapidapi.com/v0_1/CstService/tools/cipher/rsakey
http method: get
x-rapidapi-host: acrosuite-cipher.p.rapidapi.com
x-rapidapi-key: [your rapidapi-key]
{
"contents": {
"publicKey": "H4sIAAAAAAAAAFvzloG1uIhBJCuxLFGvODW5tCizpFLPO7UyKLVg70//zR2zljozMbD4MHAm5qTnAyUzcksYhHxAyvVzEvPS9YNLijLz0q2jGdhT85LzU1JTShiYop18GNjS8otyE0sKGeoYGH0YWEoqC1JLGKQhGmH26EPsUQkBSlpXFJQwMAcFO5YWgQxY81n8BxtHyAMmBoaKAgYGhkUGjfMNeNk4tdo82r7zMjIysjIwN/YyGDR2MjU2MmyvS9B+F7hKenZN2jyRT9vmd5UpCd6yXnJxrzxDxWlttu2LirdGOH/cu/H/oozN7i9kouquyvw2OxXU9nbLe51obvel0Yv4Wz3uX7vf86eSk3M6x8f1zdv4JeY+DhJgbhPMWtrP3xO2Yt7fuan7/i5y8fVQev1/49Sa3yq5y1r6XjYFyx73NmdiZmRgLGFgjdAzNbCsK2KQxBacYG8yQIEQ0F9FDHxgdaBw1HPNK81FlgSGBltAqJOPpzMAIlpboKMBAAA=",
"privateKey": "H4sIAAAAAAAAAFvzloG1uIhBJCuxLFGvODW5tCizpFLPO7UyKLVg70//zR2zljozMbD4MHAm5qTnAyUzcksYhHxAyvVzEvPS9YNLijLz0q2jGdhT85LzU1JTShiYop18GNjS8otyE0sKGeoYGH0YWEoqC1JLGKQhGmH26EPsUQkBSlpXFJQwMAcFO5YWgQxY81n8BxtHyAMmBoaKAgYGRiuDJkYzJkYGA142Tq02j7bvvIyMjKwMLE2MCkAZGaAMU2Mjw/a6BO13gaukZ9ekzRP5tG1+V5mS4C3rJRf3yjNUnNZm276oeGuE88e9G/8vytjs/kImqu6qzG+zU0Ftb7e814nmdl8avYi/1eP+tfs9fyo5OadzfFzfvI1fYu7jIAHmNsGspf38PWEr5v2dm7rv7yIXXw+l1/83Tq35rZK7rKXvZVOw7HFvc7AzGkL+bX/c2H4j43Hw54Qlnrka6a2LPuRwiy1pmXVjhbT3z+uTX/szv1nLU5b+w/Zi6JrG2q1Lwg8GbrsimsYS1elj9yTczjSVL1iq7Ghf1O0jNe6n1wYeMbvxR9DwN595FHdkzt5dR4W9GNyDd0rW3hTr07lttvXj/+tFqWyeyTGf+54F++1/CHIFEiphYAvwdg5WtqgrYpDEFs/g8GeAAiFggBcx8IHVgSJYzzWvNBdZEhhN7AFBnmGOIa4Au3l5Vj0CAAA="
},
"errors": null,
"memo": "Congratulations on your success!",
"result": true
}
Generate Digital Signature by RSA Key. You need prepare Public/Private Key above.
https://acrosuite-cipher.p.rapidapi.com/v0_1/CstService/tools/cipher/signature
http method: post
Content-Type: application/json
x-rapidapi-host: acrosuite-cipher.p.rapidapi.com
x-rapidapi-key: [your rapidapi-key]
{
"publicKey": "H4sIAAAAAAAAAFvzloG1uIhBJCuxLFGvODW5tCizpFLPO7UyKLVg70//zR2zljozMbD4MHAm5qTnAyUzcksYhHxAyvVzEvPS9YNLijLz0q2jGdhT85LzU1JTShiYop18GNjS8otyE0sKGeoYGH0YWEoqC1JLGKQhGmH26EPsUQkBSlpXFJQwMAcFO5YWgQxY81n8BxtHyAMmBoaKAgYGhkUGjfMNeNk4tdo82r7zMjIysjIwN/YyGDR2MjU2MmyvS9B+F7hKenZN2jyRT9vmd5UpCd6yXnJxrzxDxWlttu2LirdGOH/cu/H/oozN7i9kouquyvw2OxXU9nbLe51obvel0Yv4Wz3uX7vf86eSk3M6x8f1zdv4JeY+DhJgbhPMWtrP3xO2Yt7fuan7/i5y8fVQev1/49Sa3yq5y1r6XjYFyx73NmdiZmRgLGFgjdAzNbCsK2KQxBacYG8yQIEQ0F9FDHxgdaBw1HPNK81FlgSGBltAqJOPpzMAIlpboKMBAAA=",
"privateKey": "H4sIAAAAAAAAAFvzloG1uIhBJCuxLFGvODW5tCizpFLPO7UyKLVg70//zR2zljozMbD4MHAm5qTnAyUzcksYhHxAyvVzEvPS9YNLijLz0q2jGdhT85LzU1JTShiYop18GNjS8otyE0sKGeoYGH0YWEoqC1JLGKQhGmH26EPsUQkBSlpXFJQwMAcFO5YWgQxY81n8BxtHyAMmBoaKAgYGRiuDJkYzJkYGA142Tq02j7bvvIyMjKwMLE2MCkAZGaAMU2Mjw/a6BO13gaukZ9ekzRP5tG1+V5mS4C3rJRf3yjNUnNZm276oeGuE88e9G/8vytjs/kImqu6qzG+zU0Ftb7e814nmdl8avYi/1eP+tfs9fyo5OadzfFzfvI1fYu7jIAHmNsGspf38PWEr5v2dm7rv7yIXXw+l1/83Tq35rZK7rKXvZVOw7HFvc7AzGkL+bX/c2H4j43Hw54Qlnrka6a2LPuRwiy1pmXVjhbT3z+uTX/szv1nLU5b+w/Zi6JrG2q1Lwg8GbrsimsYS1elj9yTczjSVL1iq7Ghf1O0jNe6n1wYeMbvxR9DwN595FHdkzt5dR4W9GNyDd0rW3hTr07lttvXj/+tFqWyeyTGf+54F++1/CHIFEiphYAvwdg5WtqgrYpDEFs/g8GeAAiFggBcx8IHVgSJYzzWvNBdZEhhN7AFBnmGOIa4Au3l5Vj0CAAA=",
"signName": "User2002_1"
}
“publicKey” and “privateKey” are a key pair of RSA generated in 1>.
“signName” may be free to set as you like.
{
"contents": {
"publicKey": "H4sIAAAAAAAAAFvzloG1uIhBJCuxLFGvODW5tCizpFLPO7UyKLVg70\\/\\/zR2zljozMbD4MHAm5qTnAyUzcksYhHxAyvVzEvPS9YNLijLz0q2jGdhT85LzU1JTShiYop18GNjS8otyE0sKGeoYGH0YWEoqC1JLGKQhGmH26EPsUQkBSlpXFJQwMAcFO5YWgQxY81n8BxtHyAMmBoaKAgYGhkUGjfMNeNk4tdo82r7zMjIysjIwN\\/YyGDR2MjU2MmyvS9B+F7hKenZN2jyRT9vmd5UpCd6yXnJxrzxDxWlttu2LirdGOH\\/cu\\/H\\/oozN7i9kouquyvw2OxXU9nbLe51obvel0Yv4Wz3uX7vf86eSk3M6x8f1zdv4JeY+DhJgbhPMWtrP3xO2Yt7fuan7\\/i5y8fVQev1\\/49Sa3yq5y1r6XjYFyx73NmdiZmRgLGFgjdAzNbCsK2KQxBacYG8yQIEQ0F9FDHxgdaBw1HPNK81FlgSGBltAqJOPpzMAIlpboKMBAAA=",
"signature": "H4sIAAAAAAAAAAGbAGT/rO0ABXVyAAJbQqzzF/gGCFTgAgAAeHAAAACAffMkYs+gtId3YHPhK9WZSwQArMTGCqw6uS9f9iI1+iPkS5DNld06JAQTrhVTbhuoBtQkF7EfU2wj/X8fMBS7JpsL7A67jAHw/iH7+lhrwlIlqhCwTezWGi6CBFup9bPRPsexgmWpVvog2d1PAdY+6lmrlhlDlEGDxarO77sKqflogf+wmwAAAA==@@@@@@QIn3zjLAdfiRgSh+z6oZHgy0IAxzL46k",
"signDT": "2021-10-23 10:58:29.319",
"signHash": "y6MjZV879hupNRFtIixVVQ",
"signName": "User2002_1"
},
"errors": null,
"memo": "Congratulations on your success!",
"result": true
}
“signature”: a secret string which encrypted “signName” and “signDT” by “privateKey” in 1>.
{
"contents": null,
"errors": [
{
"code": "203",
"message": "The staff doesn't exist!",
"type": "NotFound"
}
],
"memo": "Unfortunately, you failed!",
"result": false
}
Do Validity Check for Digital Signature by RSA.
https://acrosuite-cipher.p.rapidapi.com/v0_1/CstService/tools/cipher/isvalidsignature
http method: post
Content-Type: application/json
x-rapidapi-host: acrosuite-cipher.p.rapidapi.com
x-rapidapi-key: [your rapidapi-key]
{
"publicKey": "H4sIAAAAAAAAAFvzloG1uIhBJCuxLFGvODW5tCizpFLPO7UyKLVg70\\/\\/zR2zljozMbD4MHAm5qTnAyUzcksYhHxAyvVzEvPS9YNLijLz0q2jGdhT85LzU1JTShiYop18GNjS8otyE0sKGeoYGH0YWEoqC1JLGKQhGmH26EPsUQkBSlpXFJQwMAcFO5YWgQxY81n8BxtHyAMmBoaKAgYGhkUGjfMNeNk4tdo82r7zMjIysjIwN\\/YyGDR2MjU2MmyvS9B+F7hKenZN2jyRT9vmd5UpCd6yXnJxrzxDxWlttu2LirdGOH\\/cu\\/H\\/oozN7i9kouquyvw2OxXU9nbLe51obvel0Yv4Wz3uX7vf86eSk3M6x8f1zdv4JeY+DhJgbhPMWtrP3xO2Yt7fuan7\\/i5y8fVQev1\\/49Sa3yq5y1r6XjYFyx73NmdiZmRgLGFgjdAzNbCsK2KQxBacYG8yQIEQ0F9FDHxgdaBw1HPNK81FlgSGBltAqJOPpzMAIlpboKMBAAA=",
"signature": "H4sIAAAAAAAAAAGbAGT/rO0ABXVyAAJbQqzzF/gGCFTgAgAAeHAAAACAffMkYs+gtId3YHPhK9WZSwQArMTGCqw6uS9f9iI1+iPkS5DNld06JAQTrhVTbhuoBtQkF7EfU2wj/X8fMBS7JpsL7A67jAHw/iH7+lhrwlIlqhCwTezWGi6CBFup9bPRPsexgmWpVvog2d1PAdY+6lmrlhlDlEGDxarO77sKqflogf+wmwAAAA==@@@@@@QIn3zjLAdfiRgSh+z6oZHgy0IAxzL46k",
"signDT": "2021-10-23 10:58:29.319",
"signHash": "y6MjZV879hupNRFtIixVVQ",
"signName": "User2002_1"
}
Here, Request is “contents” from 2>.
{
"contents": {
"code": "0000",
"message": "Congratulations on your success!",
"subject": "checkSignature"
},
"errors": null,
"memo": "",
"result": true
}
{
"contents": null,
"errors": [
{
"code": "650",
"message": "The signature is invalid!",
"type": "ParameterError"
}
],
"memo": "Unfortunately, you failed!",
"result": false
}
“signature” will be decrypted by “publicKey”. if the decrypted result matches with “signName” and “signDT”, it means Signature is validate.
Encrypt or Decrypt text messages by Public/Private Key of RSA.
https://acrosuite-cipher.p.rapidapi.com/v0_1/CstService/tools/cipher/message
http method: post
Generally, Encrypt by Public Key & Decrypt by Private Key or Encrypt by Private Key & Decrypt by Public Key is used as a Encrypt/Decrypt pair.
x-rapidapi-host: acrosuite-cipher.p.rapidapi.com
x-rapidapi-key: [your rapidapi-key]
Encrypt case by Public Key
cipherType=0
cipherType: 0:cipher, 1:decipher
{
"cipherKey": "H4sIAAAAAAAAAFvzloG1uIhBJCuxLFGvODW5tCizpFLPO7UyKLVg70\\/\\/zR2zljozMbD4MHAm5qTnAyUzcksYhHxAyvVzEvPS9YNLijLz0q2jGdhT85LzU1JTShiYop18GNjS8otyE0sKGeoYGH0YWEoqC1JLGKQhGmH26EPsUQkBSlpXFJQwMAcFO5YWgQxY81n8BxtHyAMmBoaKAgYGhkUGjfMNeNk4tdo82r7zMjIysjIwN\\/YyGDR2MjU2MmyvS9B+F7hKenZN2jyRT9vmd5UpCd6yXnJxrzxDxWlttu2LirdGOH\\/cu\\/H\\/oozN7i9kouquyvw2OxXU9nbLe51obvel0Yv4Wz3uX7vf86eSk3M6x8f1zdv4JeY+DhJgbhPMWtrP3xO2Yt7fuan7\\/i5y8fVQev1\\/49Sa3yq5y1r6XjYFyx73NmdiZmRgLGFgjdAzNbCsK2KQxBacYG8yQIEQ0F9FDHxgdaBw1HPNK81FlgSGBltAqJOPpzMAIlpboKMBAAA=",
"keyType": 0,
"message": "123456"
}
“cipherKey”: Public Key or Private Key in advance. Here, “publicKey” genarated in 1>. is used.
“keyType”: 0:PublicKey; 1:PrivateKey
"message": plain text which will be encrypted.
{
"contents": {
"message": "H4sIAAAAAAAAAAGbAGT/rO0ABXVyAAJbQqzzF/gGCFTgAgAAeHAAAACANZe11wx9sD7O1fOisv8zx5QLdsB6hGSana6rI2fI2gQm4J4I2cVbALh7DcRRmLc/iFYnAeV0VL09o1UkPaNrL3BecxyHaf9llkt5vTW3UHwvHTCF2VCFK88bqW/SfQs1CAstEtvNLO8+qev4FOUQdyw6v//W6LPbqIVjiYRfWhTGTtQDmwAAAA==@@@@@@YF4d6glOIsM="
},
"errors": null,
"memo": "",
"result": true
}
“contents”.“message”: the secret text encrypted by “publicKey” above.
Decrypt case by Private Key
cipherType=1
cipherType: 0:cipher, 1:decipher
{
"cipherKey": "H4sIAAAAAAAAAFvzloG1uIhBJCuxLFGvODW5tCizpFLPO7UyKLVg70//zR2zljozMbD4MHAm5qTnAyUzcksYhHxAyvVzEvPS9YNLijLz0q2jGdhT85LzU1JTShiYop18GNjS8otyE0sKGeoYGH0YWEoqC1JLGKQhGmH26EPsUQkBSlpXFJQwMAcFO5YWgQxY81n8BxtHyAMmBoaKAgYGRiuDJkYzJkYGA142Tq02j7bvvIyMjKwMLE2MCkAZGaAMU2Mjw/a6BO13gaukZ9ekzRP5tG1+V5mS4C3rJRf3yjNUnNZm276oeGuE88e9G/8vytjs/kImqu6qzG+zU0Ftb7e814nmdl8avYi/1eP+tfs9fyo5OadzfFzfvI1fYu7jIAHmNsGspf38PWEr5v2dm7rv7yIXXw+l1/83Tq35rZK7rKXvZVOw7HFvc7AzGkL+bX/c2H4j43Hw54Qlnrka6a2LPuRwiy1pmXVjhbT3z+uTX/szv1nLU5b+w/Zi6JrG2q1Lwg8GbrsimsYS1elj9yTczjSVL1iq7Ghf1O0jNe6n1wYeMbvxR9DwN595FHdkzt5dR4W9GNyDd0rW3hTr07lttvXj/+tFqWyeyTGf+54F++1/CHIFEiphYAvwdg5WtqgrYpDEFs/g8GeAAiFggBcx8IHVgSJYzzWvNBdZEhhN7AFBnmGOIa4Au3l5Vj0CAAA=",
"keyType": 1,
"message": "H4sIAAAAAAAAAAGbAGT/rO0ABXVyAAJbQqzzF/gGCFTgAgAAeHAAAACANZe11wx9sD7O1fOisv8zx5QLdsB6hGSana6rI2fI2gQm4J4I2cVbALh7DcRRmLc/iFYnAeV0VL09o1UkPaNrL3BecxyHaf9llkt5vTW3UHwvHTCF2VCFK88bqW/SfQs1CAstEtvNLO8+qev4FOUQdyw6v//W6LPbqIVjiYRfWhTGTtQDmwAAAA==@@@@@@YF4d6glOIsM="
}
“cipherKey”: Public Key or Private Key in advance. Here, “privateKey” genarated in 1>. is used.
“keyType”: 0:PublicKey; 1:PrivateKey
"message": secret text which will be decrypted.
{
"contents": {
"message": "123456"
},
"errors": null,
"memo": "",
"result": true
}
“contents”.“message”: the plain text decrypted by “privateKey” above.
On the contrary, Encrypt case by Public Key & Decrypt case by Private Key may be also used.