[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.227.24.1: ~ $
.\" 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 "2023-09-11" "1.1.1w" "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\-help\fR]
[\fB\-in file\fR]
[\fB\-out file\fR]
[\fB\-inkey file\fR]
[\fB\-keyform PEM|DER|ENGINE\fR]
[\fB\-pubin\fR]
[\fB\-certin\fR]
[\fB\-sign\fR]
[\fB\-verify\fR]
[\fB\-encrypt\fR]
[\fB\-decrypt\fR]
[\fB\-rand file...\fR]
[\fB\-writerand file\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 "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB\-help\fR" 4
.IX Item "-help"
Print out a usage message.
.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\-keyform PEM|DER|ENGINE\fR" 4
.IX Item "-keyform PEM|DER|ENGINE"
The key format \s-1PEM, DER\s0 or \s-1ENGINE.\s0
.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
an \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\-rand file...\fR" 4
.IX Item "-rand file..."
A file or files containing random data used to seed the random number
generator.
Multiple files can be specified separated by an OS-dependent character.
The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for
all others.
.IP "[\fB\-writerand file\fR]" 4
.IX Item "[-writerand file]"
Writes random data to the specified \fIfile\fR upon exit.
This can be used with a subsequent \fB\-rand\fR flag.
.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"
Parse the \s-1ASN.1\s0 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)
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved.
.PP
Licensed under the OpenSSL license (the \*(L"License\*(R").  You may not use
this file except in compliance with the License.  You can obtain a copy
in the file \s-1LICENSE\s0 in the source distribution or at
<https://www.openssl.org/source/license.html>.

Filemanager

Name Type Size Permission Actions
CA.pl.1 File 12.08 KB 0644
asn1parse.1 File 10.95 KB 0644
c_rehash.1 File 8.57 KB 0644
ca.1 File 32.7 KB 0644
ciphers.1 File 37.32 KB 0644
cms.1 File 31.95 KB 0644
crl.1 File 7.5 KB 0644
crl2pkcs7.1 File 7.27 KB 0644
dgst.1 File 11.63 KB 0644
dhparam.1 File 9.1 KB 0644
dsa.1 File 9.78 KB 0644
dsaparam.1 File 7.82 KB 0644
ec.1 File 10.64 KB 0644
ecparam.1 File 9.96 KB 0644
enc.1 File 19.46 KB 0644
engine.1 File 7.18 KB 0644
errstr.1 File 4.97 KB 0644
gendsa.1 File 6.96 KB 0644
genpkey.1 File 15.69 KB 0644
genrsa.1 File 8.06 KB 0644
list.1 File 6.35 KB 0644
nseq.1 File 6.25 KB 0644
ocsp.1 File 23.59 KB 0644
openssl-asn1parse.1 File 10.95 KB 0644
openssl-c_rehash.1 File 8.57 KB 0644
openssl-ca.1 File 32.7 KB 0644
openssl-ciphers.1 File 37.32 KB 0644
openssl-cms.1 File 31.95 KB 0644
openssl-crl.1 File 7.5 KB 0644
openssl-crl2pkcs7.1 File 7.27 KB 0644
openssl-dgst.1 File 11.63 KB 0644
openssl-dhparam.1 File 9.1 KB 0644
openssl-dsa.1 File 9.78 KB 0644
openssl-dsaparam.1 File 7.82 KB 0644
openssl-ec.1 File 10.64 KB 0644
openssl-ecparam.1 File 9.96 KB 0644
openssl-enc.1 File 19.46 KB 0644
openssl-engine.1 File 7.18 KB 0644
openssl-errstr.1 File 4.97 KB 0644
openssl-gendsa.1 File 6.96 KB 0644
openssl-genpkey.1 File 15.69 KB 0644
openssl-genrsa.1 File 8.06 KB 0644
openssl-list.1 File 6.35 KB 0644
openssl-nseq.1 File 6.25 KB 0644
openssl-ocsp.1 File 23.59 KB 0644
openssl-passwd.1 File 7.18 KB 0644
openssl-pkcs12.1 File 17.9 KB 0644
openssl-pkcs7.1 File 7.11 KB 0644
openssl-pkcs8.1 File 15.66 KB 0644
openssl-pkey.1 File 8.81 KB 0644
openssl-pkeyparam.1 File 6.18 KB 0644
openssl-pkeyutl.1 File 15.88 KB 0644
openssl-prime.1 File 5.38 KB 0644
openssl-rand.1 File 6.68 KB 0644
openssl-rehash.1 File 8.57 KB 0644
openssl-req.1 File 29.78 KB 0644
openssl-rsa.1 File 10.42 KB 0644
openssl-rsautl.1 File 10.7 KB 0644
openssl-s_client.1 File 36.29 KB 0644
openssl-s_server.1 File 34.3 KB 0644
openssl-s_time.1 File 12.1 KB 0644
openssl-sess_id.1 File 8.86 KB 0644
openssl-smime.1 File 23.06 KB 0644
openssl-speed.1 File 7.02 KB 0644
openssl-spkac.1 File 8.53 KB 0644
openssl-srp.1 File 5.8 KB 0644
openssl-storeutl.1 File 7.48 KB 0644
openssl-ts.1 File 28.03 KB 0644
openssl-tsget.1 File 11.17 KB 0644
openssl-verify.1 File 33.23 KB 0644
openssl-version.1 File 5.36 KB 0644
openssl-x509.1 File 37.6 KB 0644
openssl.1 File 21.09 KB 0644
passwd.1 File 7.18 KB 0644
pkcs12.1 File 17.9 KB 0644
pkcs7.1 File 7.11 KB 0644
pkcs8.1 File 15.66 KB 0644
pkey.1 File 8.81 KB 0644
pkeyparam.1 File 6.18 KB 0644
pkeyutl.1 File 15.88 KB 0644
prime.1 File 5.38 KB 0644
rand.1 File 6.68 KB 0644
rehash.1 File 8.57 KB 0644
req.1 File 29.78 KB 0644
rsa.1 File 10.42 KB 0644
rsautl.1 File 10.7 KB 0644
s_client.1 File 36.29 KB 0644
s_server.1 File 34.3 KB 0644
s_time.1 File 12.1 KB 0644
sess_id.1 File 8.86 KB 0644
smime.1 File 23.06 KB 0644
speed.1 File 7.02 KB 0644
spkac.1 File 8.53 KB 0644
srp.1 File 5.8 KB 0644
storeutl.1 File 7.48 KB 0644
ts.1 File 28.03 KB 0644
tsget.1 File 11.17 KB 0644
verify.1 File 33.23 KB 0644
version.1 File 5.36 KB 0644
x509.1 File 37.6 KB 0644