Skip to content

jyg007/ep11rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

IBM EP11 Rust wrapper for IBM EP11 library

Overview

ep11-rust is a Rust wrapper for IBM's EP11 library, providing low-level access to cryptographic operations on IBM CryptoExpress (CEX) hardware security modules (HSMs).
The only required dependency is the libep11.so shared library available on systems with IBM EP11 support.

How to test main.rs sample program

cargo run

Initializing adapter 03 and domain 19
Generated Public Key: 3056301006072a8648ce3d020106052b8104000a03420004a0e0c2504cb48d3436f34b5fee3e6755c92ea31790d6956c5e65e82981caf7e23b282a6dc935d7a966ac7291519e5861cd6839f0d6032a4b1818f57cf281d442041050d94c73fbf3137d2239f132191026a50420000000000000000000000000000000000000000000000000000000000000000004084535942c2fc13b200408000000000000000104141001000000008024000080248001000a000000010420ffd1e9b8b51845403fceace13043f48e8e78258d7264b636e511376151e06054
Generated Private Key: 000000000000000000000000000000000000000000000000000000000000000050d94c73fbf3137d2239f132191026a5000000000040012500000000000000011234b550944420e2f1b26aaf7c90a67c2f7905ed5365aaa0c43cbb7f2dca3f11b63250599044d5765dc6680e5e885be662af4f42b9adfcd4d6078bcfe4afe0ed714106e5d589db2caed39af415fc6d9e5a2a5d32b82720867d81ecd3c1747e919c72e1193d89f1ae6d6f1f3c0d6c4dfdf6858ecae69e33ae49480b8300af28c4b7d1c492666dd32c6608e58148012127e5ad5159163b284e68baa616ffb1d5ba21a6725c9e8db8346d9d0acaa3fbc44122a29318cc852024e1e35ec4517a86e9044a2db719b5e9cdb1619c306a4db632ff9cb713bbb2c0567abfc07ab562b1595a92497dc4b504f2b0a860e8bcbda4aaf4bf1e96827905319d6e67fb2fd3a70225a17a2c20d1001d66fc059a1ae9fad35716628b64c33e0db68e9fc3c5d59cb1cfb674a29cc187ac747dd2a56ea18ce95b14232d510bd1a2d8d70b86cbf89ecf2677051181ee0d0d07d6edb59efaa81e07bd0b7648d58a2227953b4e77b4190507bdf28875f9d2cd4a62878c40a7d38a377b6921702865fc37fdb5584c5ea231008ccd6abd1a24ea66edab68b68260a23ba9be13f9c7daa51132cec88549d931686eaccf249695996c002492d4fc8b43694211637e6f74381459bf178977dacfa2946b9a402347d78180ed9ef5378c18d4c3887cd6f0f1fe46120eabbac9810d47ee22c62ccd097da4fe31cb05629d89
Reenciphered Key: 0000000000000000000000000000000000000000000000000000000000000000bac48a17a88b917d3a5affbcab5ec03f00000000004001250000000000000001123448c5d1eba6e454ff8a79c6acf250ea0c363bcadb91dd19f95c4d0d394ab4041f720d0ea629c5329a5627168f6ba3843009d5686417db64814627c4105c068369ab47fb7ae937f15bff6f38edd96b8fe0edc5fcecfc3c7f056905a9f36eed6cb71b1b0bf24cff41e1b561be1d81a597a5b8c02a626b171187e1801774638e184fee112b7d9e3794aa79f8bc45ea11dc011f39892570efa7dba93f5d91326725e77df709036118e5a85428e726432f82224c721c7495091e98788eb853677499c9158e000001adc8aecdc9beec670c59e1cd1d57aa9281988f49afe70c4498bfd68eec52d339bd6c195db6c93f0c30685089c0f299f471c11f173036d28c1ef802185e5f76725a1db701e7a05c43e6eb3ae134d8b26ebd66c7c80e9f922235aa1a7d22f8d7e4506a3e0fd7e8d35ec97145b8655ddc51b4834e20275d43a05f0f35c0f0e8df46239c670f20392ad6c3fed093a72e43390934cced5bcc3858fdcbe8ab5dd8fb587970d31634843b62868754d9c80520f1229c72991f34ec93aa62e68932bb3a5d9415376e14bf99f7c8af43b5861f0172018a7ba25c8a6f1ca2ad32e38ba3ddff74a23e8488f9a5411cb746484f03f6c7a4adee984a429cfac9614238623b9e25178d1cdcf6483c9e0e37b970ea9b7186b0fcea837c96561154e45a07e2d7e70df6b0ac026bec3d8b75
Generated aes Key: 000000000000000000000000000000000000000000000000000000000000000050d94c73fbf3137d2239f132191026a5000000000040ed2500000000000000011234fc803c3936ee30548326c9370ab862e5d2a7b9ed569a332638036da879c595de791192552f35c4a093563b10ff76954ca2d3c1b5bb1c68f302bfa4d05ac1a7fd390e553284e14677a73e5dfa762b8f374fc4fc23206454ba7ed628534a25ef8f612a9884472b282877308e33a00a5b0c11b292e2434383fef2da2e090d9775f97e9c6077de7296075c6527035e43f528b7d71c0de84f7009ec8b9ae43cbd58a69180f0b399c4a4ee9af8c75c8368d39aeda21483a79a6e680bf7e727cbed
Generated csum: 9395e4
Signature (hex) = 6cf85cdb55533eee3760a35c8801bc1f7ed1e18e92589d568b8c4c4f0f6c38d6c62bf40fa6b6e1c199e2efadb1512ce439ee344490df2fbe8e0bd7af7ef88941
Signature verification succeeded
cipher (hex) = eecd54a8552e2eaa879a80e000ebc1d3a7c95364a6ca7270e1442140d230cdf42b9f9bba153ba092ce13b97af4cf087ce181c44fa31d23f7221e5b04aa138379
plain = this is a string that will be ciphered in rust
random (hex) = 117c1002db1f0b36092d007970c25ea7
wrapkey = 14e24c6b4468c900abb2a9e8a52cdfe18db412d4469ee2a93ee6a0d67ed4ee8218a1db16fd87a97ac81c44ac00a0ed3042f360fa64c434a9c02da276823cb97bf7e7f69e4e63690621a683ad579a7417
base_key_bytes = 000000000000000000000000000000000000000000000000000000000000000050d94c73fbf3137d2239f132191026a50000000000009185000000000000000112340a2d876917c1eb71ccc72be4697723bb3932c1f60e25f8c5eef0434ca4ec11b548cd5131d59bd1bff659f73979e91b0a5940ac2655255b2b03ac0f17301648b9e6ae84089f5c0d2762919afcbd75e791056c64e4445cf80fdd03803cc9d9df62546df66e11c3c4120da0e4ad550ce378952722eadfd68d62a36468caae828e2e7173d35fe775676086e5b91f74ef2fb70e4cc08444af9a09532a460e54f81174b6b5bb42154f5e7df4d881c1f8ed689e47c3ec38a347136526dba764c6b189f0668b057e85f9cb1a5fbdc83d636cc1b9287fb6921fe48b674f5a1e92c0ebe45829446b32b4d494d611b97830b910c822826abb04c6ced99ffcea12d3643ffba2a8f2517968f9de0f0f8ebe0d277b7cd82d6ed695129b5506928997905deca2cc73d16b55956eb8e5f317ddcf55d024c085ea7e758057f49d66941c82d391cdc1c5d13e1e19bfc187853291c1f9bd3231db6d1ca96d56243cbda7d19dd6d4c69614cab9e8345593333c603fe24ceed3ea572f4822b3bd0fa81141f5c8410e
Derived Key  = 000000000000000000000000000000000000000000000000000000000000000050d94c73fbf3137d2239f132191026a50000000000009d8500000000000000011234600502f41bbdd3196c5fda3f0796cb75734a49d12c46ecb0eedb29afe0f1fc65cdf5a51875933efb6fb9248b5d5bbe11db8431dd591bf2aab0343c8ab47c9c9288454cc29a5499077413d30fb3dc5d48063135d1a6fc7ed2b1136744ecdec86ea9e3c448c9b22cb3125c2b0b621736e803a1afcacd74b4972bfd6d6731898f371e2c70fc477347c93a0154642f78401963e4f9e52ca66beeee9c11f4dddff7046373ee5940187f779838ee4a21b8f322ca4f13c6805c322d8558474f2cf67842ed2fc60683c67a26d85442ff90ba0a455933e81a56aaee2dc0d7a1c296b85f300c9ce78d941610632a523f5f0fe7bd3b654a3931a4dd299e4b3fa9cf9349bf067c6a7878a2c4d17f6c94169f1c0279858a0522ddc6c9f1c82b13711f5c5076c3a683562d25278e2f32c196b0fb7ae5b28aeab554ceb24b87f6451d6c2a31d45b06107494d530cf4cd2871259dc8c3de35bbc62df67b1ecd8c424cf9c5aab692a4cedeec5077d2f7caaefd1e7f1c0c8517c77da2d14e335193b7a48d9c9fc5e6b809866e63a47c4cfe5029ff5163427fb5131925158d23d339a6597f85a277e740d003eeb49e2793685289aa77008bfde7b3d2e0e3fcb1334dda72867d8a211017c47746180cecdb1bbc5d97c9d90fc578f164415a9375ccf959d36026dba64d4bc7b67e7a3c2fb5aa3bd5388987cff8b657214c254a0f201fbbe6382e7128a3b0b41d0b467226e06a8ad6f932c92b0bda7086bcb800504ae8774cbce4b0d60ace919333e65bc322c5d0090586b7a9836e9bff1197b5fad33d3c47449c63a399d773cc7174af23e52860a0b90366c
Checksum     = ef70a74db9c3a5af931b5fe73ed8e1a53464133654fd55e7a66f8570b8e33c3b

About

Rust wrapper for IBM EP11 crypto library

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages