@@ -38,49 +38,86 @@ If everything worked, you should see the wolfCLU help message.
38
38
39
39
## Examples
40
40
41
- ### Base64
42
-
43
- #### Encode
44
-
45
- ```
46
- wolfssl -hash base64enc -in README.md > README_encrypted.md
47
- ```
48
-
49
- #### Decode
50
-
51
- ```
52
- wolfssl -hash base64dec -in README_encrypted.md
41
+ ### Key Generation
42
+
43
+ The command below generates an RSA public/private key pair in PEM form.
44
+ ```
45
+ wolfssl genkey rsa -size 2048 -out mykey -outform pem -output KEY
46
+ ```
47
+ Resulting files mykey.priv and mykey.pub can be seen below.
48
+ ```
49
+ -----BEGIN RSA PRIVATE KEY-----
50
+ MIIEogIBAAKCAQEAvCjQxgLC0QT3m2KCBRGF9inN3xKzTd9Aht2i3on5th1gFTmh
51
+ 0X9M8MFoOnXrzAuTTq/rjR1OLJCBJkB029zoXkbGMN/D0KCXRNl1SRTH+Z5lL6ZG
52
+ 88ckhMYoAk96FDZq83WCEL/UnAkL/U1IRSHmCzmQdYSMkO4+7upvipEjwe3yP1DN
53
+ w/Dx72fMRKagkbjAujETzVRn17kEe4uENBOX/hFPjjVf+7ie+AgY6UAxWaDt46IC
54
+ Y0c/PisP+aSj5+yLDGHcGOrgRIt4lJ8NQXvmQtyH6lfLomOobGJMbrAmy68fmCzR
55
+ y8lfaxS05SnsUIHulotxZgZ0ZFhPB7q8EAsRKQIDAQABAoIBAG8KV0rDzlyz5bwZ
56
+ gkmjcb84JHqE+rP2EIqGudtC6c8DvvRHsquDyNA8E1qMxL8CBcjmIMiChuPd05nT
57
+ aCNoVulsMwIcy96PJzZGbuTWEr3JMEXShwTOfUqt9maGqLDM/Ij4y+0+iCYdYKn3
58
+ tbK2sp/lNM9ljd7p+tHcID9SMBv9YIP3XwEPHxPDXcHEah5G9eNTOYpZvNCZf0pO
59
+ ShKTDfRi/DYm6gOYMca9hiJANoG7LfkcXRDpmPYC6wzJZSN0SBNn27I9A9JkwoPQ
60
+ /vLi9782TyNM/ncurFIiRi7vJho398WPNf0lOI+8kjvH9OPI87usYNjLAo3CXZS+
61
+ bow7kFECgYEA7tn2yrZHfoA526mWRkkf7I9B+c/7YA++8hyt2XiDPIGMsa78yae1
62
+ MBn9SgF/bAdYq/aazGMPKtENIF2vHEfEH9W5Kqgp9qW/emqvU9Rj6CDyznhXcwN8
63
+ uGIPow+uSN5bPysmFp/wjg8AM9SryRaVWgkykaLvhALcTVjH8Lwv8psCgYEAyask
64
+ 4XO22NieX/v6v6uVwaVGH6Uo5uHNbu7p0SuvEQMXWEIQKB3vHdtR3XE6sH+E6rX3
65
+ 5KgxqPzbodLXd2PV15VWwTTb+/jrJkWN9Ix0nbez4eP7MrSUJjtrXKk8+1VQKCPn
66
+ wbwsw1jsAj2DuDyqXbcnEY5t1rhY5z1JCE+89YsCgYA3Xw5IdjNizyUamFj/GEqv
67
+ U5Ku8BlNbrkMdbuT081QxJOySWfO8/McIJpIgspgZ9+VlgjS4xAMFASgATfsLXL5
68
+ Elnn2q5HwKsAHSViILW8hY7kcJ+NSTyrnggT/DmiKPIsVbtxuUhSFoYsfdwJNRQQ
69
+ mFtBye0OxH7/61oGpAnViwKBgF5lMXomA6w0mM0s0Q3ubsaZad1eHWsUvmfyhJdX
70
+ 7zXzUHYLViyw9j/vbL5ORb5fsgN68XGiGLyUvulcG2bS4EFssZL1/xJOTSM4411Y
71
+ cS1x000kvWvago3yuipBPT4XjNF9HPnd7sXxVWcnDASswMHk/PCGznr3BwYV9Z1i
72
+ VXxJAoGAN6ZLY3Ol+CxSICNe5RZM7ZTs9GadgN7jSYqFUpZQX6nMZxaftNdhVIum
73
+ K9jchl6IVIZVOyNE0yX02oj1tUUruhC3pdSg8NQSVoYonNFvJwKzBOgVqJKsNjrF
74
+ I+sL/vVEOzji/VePapveVG5yGDiAT1FKg6MDHJ8U+H5j+Go3bmI=
75
+ -----END RSA PRIVATE KEY-----
76
+ ```
77
+ ```
78
+ -----BEGIN PUBLIC KEY-----
79
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvCjQxgLC0QT3m2KCBRGF
80
+ 9inN3xKzTd9Aht2i3on5th1gFTmh0X9M8MFoOnXrzAuTTq/rjR1OLJCBJkB029zo
81
+ XkbGMN/D0KCXRNl1SRTH+Z5lL6ZG88ckhMYoAk96FDZq83WCEL/UnAkL/U1IRSHm
82
+ CzmQdYSMkO4+7upvipEjwe3yP1DNw/Dx72fMRKagkbjAujETzVRn17kEe4uENBOX
83
+ /hFPjjVf+7ie+AgY6UAxWaDt46ICY0c/PisP+aSj5+yLDGHcGOrgRIt4lJ8NQXvm
84
+ QtyH6lfLomOobGJMbrAmy68fmCzRy8lfaxS05SnsUIHulotxZgZ0ZFhPB7q8EAsR
85
+ KQIDAQAB
86
+ -----END PUBLIC KEY-----
87
+ ```
88
+ ### Certification Generation
89
+
90
+ This command generates an X509 certificate using the private key created above.
91
+ ```
92
+ wolfssl req -new -days 3650 -key mykey.priv -out test.cert -x509
93
+ ```
94
+ The resulting file test.cert can be seen below.
95
+ ```
96
+ -----BEGIN CERTIFICATE-----
97
+ MIICiDCCAXCgAwIBAgIQUxgFCkVR/08kI3nA38BsLTANBgkqhkiG9w0BAQsFADAA
98
+ MB4XDTIyMDIxODIwMzUwMFoXDTMyMDIxNjIwMzUwMFowADCCASIwDQYJKoZIhvcN
99
+ AQEBBQADggEPADCCAQoCggEBALwo0MYCwtEE95tiggURhfYpzd8Ss03fQIbdot6J
100
+ +bYdYBU5odF/TPDBaDp168wLk06v640dTiyQgSZAdNvc6F5GxjDfw9Cgl0TZdUkU
101
+ x/meZS+mRvPHJITGKAJPehQ2avN1ghC/1JwJC/1NSEUh5gs5kHWEjJDuPu7qb4qR
102
+ I8Ht8j9QzcPw8e9nzESmoJG4wLoxE81UZ9e5BHuLhDQTl/4RT441X/u4nvgIGOlA
103
+ MVmg7eOiAmNHPz4rD/mko+fsiwxh3Bjq4ESLeJSfDUF75kLch+pXy6JjqGxiTG6w
104
+ JsuvH5gs0cvJX2sUtOUp7FCB7paLcWYGdGRYTwe6vBALESkCAwEAATANBgkqhkiG
105
+ 9w0BAQsFAAOCAQEAHHX+4PTg1nv8Bo0LgLqmx0YtG08Ye8IvPLRNIePSYRdVwToW
106
+ MRPOvUU2/VQ41ro+iqlvopb2wX+gNz2K89EU3PQ6tVXxj0JiVB7DpXm/8lMklf3v
107
+ 0DGAJrvK3dEPbTvb71JG5qkwcBaS8jARKXOkuyW2D9yVSVKT/CkylpanRfXuU4NL
108
+ adaA+l398KpM0c0XT7Fl4ylSeZLLi5CSObu1kkPpYqjAGyI+y0EW79btz88U2QmB
109
+ uqGDApXWYuBdjheL4Ysoq6YXtt6dnm8DkBVrnt+gAMCBFbBNPXxy2MODBDqya907
110
+ iky6IRTUzkBy1fssv3Gr/jOsyN8J565NST3RpQ==
111
+ -----END CERTIFICATE-----
112
+ ```
113
+ ### DGST Sign and Verify
114
+
115
+ The commands below sign this README then verify it with the resulting signature.
116
+ ```
117
+ wolfssl dgst -sha256 -sign mykey.priv -out readme.sig ./README.md
118
+ wolfssl dgst -sha256 -verify mykey.pub -signature readme.sig ./README.md
53
119
```
54
120
55
- ### X509
56
-
57
- ```
58
- wolfssl -x509 -inform pem -in certs/ca-cert.pem -outform der -out outputfilename.der
59
- wolfssl -x509 -inform der -in certs/ca-cert.der -outform pem -out outputfilename.pem
60
- ```
61
-
62
- ### RSA Signature Generation and Verification
63
-
64
- #### Hash
65
-
66
- ```
67
- wolfssl -hash sha256 -in README.md -out README.md.sha256
68
- ```
69
-
70
- #### Sign
71
-
72
- ```
73
- wolfssl -rsa -sign -inkey ../certs/client-key.der -in README.md.sha256 -out README.md.signed
74
- ```
75
-
76
- #### Verify
77
-
78
- ```
79
- wolfssl -rsa -verify -inkey ../certs/client-keyPub.der -sigfile README.md.signed -out README.md.verify -pubin
80
- ```
81
-
82
- At this point, the contents of ` README.md.sha256 ` and ` README.md.verify ` should be the same.
83
-
84
121
## Contacts
85
122
86
123
Please contact support@wolfssl.com with any questions or comments.
0 commit comments