Show Table of Contents
第7章 $fh.sec
$fh.sec(options, callback)
キーの生成、データの暗号化および暗号解除。
7.1. 例
RSA キー生成
$fh.sec({
"act": 'keygen',
"params": {
"algorithm": "RSA", // RSA or AES
"keysize": 1024 // 1024 or 2048 for RSA
}
}, function (err, res) {
if (err) {
return console.log("RSA key generation failed. Error: " + err);
}
return console.log("Public key is " + res.public + " Private key is " + res.private + ' Modulu is ' + res.modulu);
});
RSA 暗号化
$fh.sec({
"act": 'encrypt',
"params": {
"algorithm": "RSA", // padding: PKCS#1
"plaintext": "Need more starting pages",
"public": pubkey
}
}, function (err, result) {
if (err) {
return console.log("Encryption failed: " + err);
}
return console.log("Encrypted data is " + result.ciphertext);
});
RSA 暗号解除
$fh.sec({
"act": 'decrypt',
"params": {
"algorithm": "RSA",
"ciphertext": "23941A28432482E374102FF48723BCB9847324",
"private": privatekey
}
}, function (err, result) {
if (err) {
return console.log("Decryption failed: " + err);
}
return console.log("Decryption data is " + result.plaintext);
});
AES キー生成
$fh.sec({
"act": 'keygen',
"params": {
"algorithm": "AES", // AES or RSA
"keysize": 128 // 128 or 256 for AES
}
}, function (err, res) {
if (err) {
return console.log("AES key generation failed. Error: " + err);
}
return console.log("AES secret key is " + res.secretkey + " Initialisation Vector is " + res.iv);
});
AES 暗号化
$fh.sec({
"act": 'encrypt',
"params": {
"algorithm": "AES", // mode : CBC, padding: PKCS#5
"plaintext": "Need more starting pages",
"key": secretkey,
"iv": iv
}
}, function (err, result) {
if (err) {
return console.log("Encryption failed: " + err);
}
return console.log("Encrypted data is " + result.ciphertext);
});
AES 暗号解除
$fh.sec({
"act": 'decrypt',
"params": {
"algorithm": "AES",
"ciphertext": "23941A28432482E374102FF48723BCB9847324",
"key": secretkey,
"iv": iv
}
}, function (err, result) {
if (err) {
return console.log("Decryption failed: " + err);
}
return console.log("Decryption data is " + result.plaintext);
});

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.