golden hour
/opt/alt/openssl/share/man/man1
⬆️ Go Up
Upload
File/Folder
Size
Actions
CA.pl.1ssl
10.12 KB
Del
OK
asn1parse.1ssl
9.9 KB
Del
OK
c_rehash.1ssl
7.59 KB
Del
OK
ca.1ssl
30.08 KB
Del
OK
ciphers.1ssl
30.67 KB
Del
OK
cms.1ssl
29.33 KB
Del
OK
crl.1ssl
7.07 KB
Del
OK
crl2pkcs7.1ssl
6.78 KB
Del
OK
dgst.1ssl
10.25 KB
Del
OK
dhparam.1ssl
8.65 KB
Del
OK
dsa.1ssl
9.19 KB
Del
OK
dsaparam.1ssl
7.23 KB
Del
OK
dss1.1ssl
10.25 KB
Del
OK
ec.1ssl
10.16 KB
Del
OK
ecparam.1ssl
9.56 KB
Del
OK
enc.1ssl
14.93 KB
Del
OK
errstr.1ssl
4.69 KB
Del
OK
gendsa.1ssl
6.03 KB
Del
OK
genpkey.1ssl
14.69 KB
Del
OK
genrsa.1ssl
7.57 KB
Del
OK
md2.1ssl
10.25 KB
Del
OK
md4.1ssl
10.25 KB
Del
OK
md5.1ssl
10.25 KB
Del
OK
mdc2.1ssl
10.25 KB
Del
OK
nseq.1ssl
5.82 KB
Del
OK
ocsp.1ssl
20.09 KB
Del
OK
openssl-asn1parse.1ssl
9.9 KB
Del
OK
openssl-ca.1ssl
30.08 KB
Del
OK
openssl-ciphers.1ssl
30.67 KB
Del
OK
openssl-cms.1ssl
29.33 KB
Del
OK
openssl-crl.1ssl
7.07 KB
Del
OK
openssl-crl2pkcs7.1ssl
6.78 KB
Del
OK
openssl-dgst.1ssl
10.25 KB
Del
OK
openssl-dhparam.1ssl
8.65 KB
Del
OK
openssl-dsa.1ssl
9.19 KB
Del
OK
openssl-dsaparam.1ssl
7.23 KB
Del
OK
openssl-ec.1ssl
10.16 KB
Del
OK
openssl-ecparam.1ssl
9.56 KB
Del
OK
openssl-enc.1ssl
14.93 KB
Del
OK
openssl-errstr.1ssl
4.69 KB
Del
OK
openssl-gendsa.1ssl
6.03 KB
Del
OK
openssl-genpkey.1ssl
14.69 KB
Del
OK
openssl-genrsa.1ssl
7.57 KB
Del
OK
openssl-nseq.1ssl
5.82 KB
Del
OK
openssl-ocsp.1ssl
20.09 KB
Del
OK
openssl-passwd.1ssl
-
Del
OK
openssl-pkcs12.1ssl
17.3 KB
Del
OK
openssl-pkcs7.1ssl
6.68 KB
Del
OK
openssl-pkcs8.1ssl
13.58 KB
Del
OK
openssl-pkey.1ssl
7.76 KB
Del
OK
openssl-pkeyparam.1ssl
5.64 KB
Del
OK
openssl-pkeyutl.1ssl
11.51 KB
Del
OK
openssl-rand.1ssl
-
Del
OK
openssl-req.1ssl
29.24 KB
Del
OK
openssl-rsa.1ssl
10.92 KB
Del
OK
openssl-rsautl.1ssl
9.76 KB
Del
OK
openssl-s_client.1ssl
18.61 KB
Del
OK
openssl-s_server.1ssl
19.79 KB
Del
OK
openssl-s_time.1ssl
10.84 KB
Del
OK
openssl-sess_id.1ssl
8.3 KB
Del
OK
openssl-smime.1ssl
20.93 KB
Del
OK
openssl-speed.1ssl
5.44 KB
Del
OK
openssl-spkac.1ssl
7.92 KB
Del
OK
openssl-ts.1ssl
26.47 KB
Del
OK
openssl-tsget.1ssl
10.93 KB
Del
OK
openssl-verify.1ssl
23.98 KB
Del
OK
openssl-version.1ssl
4.93 KB
Del
OK
openssl-x509.1ssl
35.52 KB
Del
OK
openssl.1ssl
15.69 KB
Del
OK
pkcs12.1ssl
17.3 KB
Del
OK
pkcs7.1ssl
6.68 KB
Del
OK
pkcs8.1ssl
13.58 KB
Del
OK
pkey.1ssl
7.76 KB
Del
OK
pkeyparam.1ssl
5.64 KB
Del
OK
pkeyutl.1ssl
11.51 KB
Del
OK
req.1ssl
29.24 KB
Del
OK
ripemd160.1ssl
10.25 KB
Del
OK
rsa.1ssl
10.92 KB
Del
OK
rsautl.1ssl
9.76 KB
Del
OK
s_client.1ssl
18.61 KB
Del
OK
s_server.1ssl
19.79 KB
Del
OK
s_time.1ssl
10.84 KB
Del
OK
sess_id.1ssl
8.3 KB
Del
OK
sha.1ssl
10.25 KB
Del
OK
sha1.1ssl
10.25 KB
Del
OK
sha224.1ssl
10.25 KB
Del
OK
sha256.1ssl
10.25 KB
Del
OK
sha384.1ssl
10.25 KB
Del
OK
sha512.1ssl
10.25 KB
Del
OK
smime.1ssl
20.93 KB
Del
OK
speed.1ssl
5.44 KB
Del
OK
spkac.1ssl
7.92 KB
Del
OK
sslpasswd.1ssl
5.94 KB
Del
OK
sslrand.1ssl
5.21 KB
Del
OK
ts.1ssl
26.47 KB
Del
OK
tsget.1ssl
10.93 KB
Del
OK
verify.1ssl
23.98 KB
Del
OK
version.1ssl
4.93 KB
Del
OK
x509.1ssl
35.52 KB
Del
OK
Edit: rsautl.1ssl
.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "RSAUTL 1" .TH RSAUTL 1 "2019-12-20" "1.0.2u" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" openssl\-rsautl, rsautl \- RSA utility .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBopenssl\fR \fBrsautl\fR [\fB\-in file\fR] [\fB\-out file\fR] [\fB\-inkey file\fR] [\fB\-pubin\fR] [\fB\-certin\fR] [\fB\-sign\fR] [\fB\-verify\fR] [\fB\-encrypt\fR] [\fB\-decrypt\fR] [\fB\-pkcs\fR] [\fB\-ssl\fR] [\fB\-raw\fR] [\fB\-hexdump\fR] [\fB\-asn1parse\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBrsautl\fR command can be used to sign, verify, encrypt and decrypt data using the \s-1RSA\s0 algorithm. .SH "COMMAND OPTIONS" .IX Header "COMMAND OPTIONS" .IP "\fB\-in filename\fR" 4 .IX Item "-in filename" This specifies the input filename to read data from or standard input if this option is not specified. .IP "\fB\-out filename\fR" 4 .IX Item "-out filename" specifies the output filename to write to or standard output by default. .IP "\fB\-inkey file\fR" 4 .IX Item "-inkey file" the input key file, by default it should be an \s-1RSA\s0 private key. .IP "\fB\-pubin\fR" 4 .IX Item "-pubin" the input file is an \s-1RSA\s0 public key. .IP "\fB\-certin\fR" 4 .IX Item "-certin" the input is a certificate containing an \s-1RSA\s0 public key. .IP "\fB\-sign\fR" 4 .IX Item "-sign" sign the input data and output the signed result. This requires and \s-1RSA\s0 private key. .IP "\fB\-verify\fR" 4 .IX Item "-verify" verify the input data and output the recovered data. .IP "\fB\-encrypt\fR" 4 .IX Item "-encrypt" encrypt the input data using an \s-1RSA\s0 public key. .IP "\fB\-decrypt\fR" 4 .IX Item "-decrypt" decrypt the input data using an \s-1RSA\s0 private key. .IP "\fB\-pkcs, \-oaep, \-ssl, \-raw\fR" 4 .IX Item "-pkcs, -oaep, -ssl, -raw" the padding to use: PKCS#1 v1.5 (the default), PKCS#1 \s-1OAEP,\s0 special padding used in \s-1SSL\s0 v2 backwards compatible handshakes, or no padding, respectively. For signatures, only \fB\-pkcs\fR and \fB\-raw\fR can be used. .IP "\fB\-hexdump\fR" 4 .IX Item "-hexdump" hex dump the output data. .IP "\fB\-asn1parse\fR" 4 .IX Item "-asn1parse" asn1parse the output data, this is useful when combined with the \&\fB\-verify\fR option. .SH "NOTES" .IX Header "NOTES" \&\fBrsautl\fR because it uses the \s-1RSA\s0 algorithm directly can only be used to sign or verify small pieces of data. .SH "EXAMPLES" .IX Header "EXAMPLES" Sign some data using a private key: .PP .Vb 1 \& openssl rsautl \-sign \-in file \-inkey key.pem \-out sig .Ve .PP Recover the signed data .PP .Vb 1 \& openssl rsautl \-verify \-in sig \-inkey key.pem .Ve .PP Examine the raw signed data: .PP .Vb 1 \& openssl rsautl \-verify \-in sig \-inkey key.pem \-raw \-hexdump \& \& 0000 \- 00 01 ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ \& 0010 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ \& 0020 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ \& 0030 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ \& 0040 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ \& 0050 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ \& 0060 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ \& 0070 \- ff ff ff ff 00 68 65 6c\-6c 6f 20 77 6f 72 6c 64 .....hello world .Ve .PP The PKCS#1 block formatting is evident from this. If this was done using encrypt and decrypt the block would have been of type 2 (the second byte) and random padding data visible instead of the 0xff bytes. .PP It is possible to analyse the signature of certificates using this utility in conjunction with \fBasn1parse\fR. Consider the self signed example in certs/pca\-cert.pem . Running \fBasn1parse\fR as follows yields: .PP .Vb 1 \& openssl asn1parse \-in pca\-cert.pem \& \& 0:d=0 hl=4 l= 742 cons: SEQUENCE \& 4:d=1 hl=4 l= 591 cons: SEQUENCE \& 8:d=2 hl=2 l= 3 cons: cont [ 0 ] \& 10:d=3 hl=2 l= 1 prim: INTEGER :02 \& 13:d=2 hl=2 l= 1 prim: INTEGER :00 \& 16:d=2 hl=2 l= 13 cons: SEQUENCE \& 18:d=3 hl=2 l= 9 prim: OBJECT :md5WithRSAEncryption \& 29:d=3 hl=2 l= 0 prim: NULL \& 31:d=2 hl=2 l= 92 cons: SEQUENCE \& 33:d=3 hl=2 l= 11 cons: SET \& 35:d=4 hl=2 l= 9 cons: SEQUENCE \& 37:d=5 hl=2 l= 3 prim: OBJECT :countryName \& 42:d=5 hl=2 l= 2 prim: PRINTABLESTRING :AU \& .... \& 599:d=1 hl=2 l= 13 cons: SEQUENCE \& 601:d=2 hl=2 l= 9 prim: OBJECT :md5WithRSAEncryption \& 612:d=2 hl=2 l= 0 prim: NULL \& 614:d=1 hl=3 l= 129 prim: BIT STRING .Ve .PP The final \s-1BIT STRING\s0 contains the actual signature. It can be extracted with: .PP .Vb 1 \& openssl asn1parse \-in pca\-cert.pem \-out sig \-noout \-strparse 614 .Ve .PP The certificate public key can be extracted with: .PP .Vb 1 \& openssl x509 \-in test/testx509.pem \-pubkey \-noout >pubkey.pem .Ve .PP The signature can be analysed with: .PP .Vb 1 \& openssl rsautl \-in sig \-verify \-asn1parse \-inkey pubkey.pem \-pubin \& \& 0:d=0 hl=2 l= 32 cons: SEQUENCE \& 2:d=1 hl=2 l= 12 cons: SEQUENCE \& 4:d=2 hl=2 l= 8 prim: OBJECT :md5 \& 14:d=2 hl=2 l= 0 prim: NULL \& 16:d=1 hl=2 l= 16 prim: OCTET STRING \& 0000 \- f3 46 9e aa 1a 4a 73 c9\-37 ea 93 00 48 25 08 b5 .F...Js.7...H%.. .Ve .PP This is the parsed version of an \s-1ASN1\s0 DigestInfo structure. It can be seen that the digest used was md5. The actual part of the certificate that was signed can be extracted with: .PP .Vb 1 \& openssl asn1parse \-in pca\-cert.pem \-out tbs \-noout \-strparse 4 .Ve .PP and its digest computed with: .PP .Vb 2 \& openssl md5 \-c tbs \& MD5(tbs)= f3:46:9e:aa:1a:4a:73:c9:37:ea:93:00:48:25:08:b5 .Ve .PP which it can be seen agrees with the recovered value above. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIdgst\fR\|(1), \fIrsa\fR\|(1), \fIgenrsa\fR\|(1)
Save