Skip to content

Commit e1c3746

Browse files
committedFeb 18, 2022
Updating examples in README
1 parent 1525597 commit e1c3746

File tree

1 file changed

+78
-41
lines changed

1 file changed

+78
-41
lines changed
 

‎README.md

+78-41
Original file line numberDiff line numberDiff line change
@@ -38,49 +38,86 @@ If everything worked, you should see the wolfCLU help message.
3838

3939
## Examples
4040

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
53119
```
54120

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-
84121
## Contacts
85122

86123
Please contact support@wolfssl.com with any questions or comments.

0 commit comments

Comments
 (0)