Code Signing 2018-08-02T18:15:32+00:00

RStudio Signed Builds

Official RStudio builds for Linux-based operating systems may be signed with a GnuPG key. You can validate the signature of the binaries yourself; this helps assure that

  • the binaries are genuine artifacts produced by RStudio, and
  • they have not been tampered with by a third party.

Obtaining the Public Key

In order to validate a build’s signature, you must first import and trust RStudio’s public code-signing key. You can obtain the public key from a keyserver using gpg at the command line:

gpg --keyserver keys.gnupg.net --recv-keys 3F32EE77E331692F

The complete key public key is also reproduced at the end of this page.

Validating Build Signatures

Debian/Ubuntu

On Debian-based Linux systems, use the dpkg-sig command to validate the signature. You may need to install the dpkg-sig package if it isn’t already installed.

dpkg-sig --verify rstudio-download-1.2.3.deb

RedHat/CentOS

On RedHat-based Linux systems, validation is built into the rpm command; however, rpm doesn’t use the GnuPG key store, so you first need to import the public key. You can validate the signature as follows:

gpg --export --armor 3F32EE77E331692F > rstudio-signing.key
rpm --import rstudio-signing.key
rpm -K rstudio-download-1.2.3.rpm

GnuPG Public Key

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBFnnkaUBEADF8Ue0CLeO08aGjx4O2BPbZAIEXeazLlD6JgdnUGqUrK+D2TxU
aQ/y1Xz2MCChcyrgVE9Sbmlpp+Jk+lviGsFdcqy25IwfR+bD+o5me5awlK5f1llQ
8Z46BPPePYpRgmljKegUROmvVjgmOZs7wmhnWk0xdOVqzbWE51Hg3EgPW5zIWFeW
DVKjHG1p4BR8BkaCv2TUYFGRec+AHr13BB5FWTpaDLqmD4loKHqWzabFClpOQn1Q
XLmHpNhclab33pFAxqqZ82PsszowcKK8LdTgRjdnovwSRufcQC+3xkz6NBel4gzp
idUQ60BmSG7GCNPL6TyX2S3j9QgmyzeebrHDMZwGMIGP3kn0NAhl/1OJYv/rki/R
/zQqxinzmcTTa5d8IjAUc4YiAvzsQbxA5sTK8AWA3chf/mJFuv2kbWKBukiGfBvs
sRkUz3TPioO4tZY6nsrojsfO/d7L8/0voCrL5GHlZLWn6zCx7eOiK6LfNE8qNgsX
hbqwPuuC/S7scNNUsDo3tZIn6do/USTAMs9rlWsj6R1YskmF9QBF/K9jpsL5Mqyw
ZARbpDjXXt/fNHJUMdOfXCatjQWMbJfCDQErDU885UL71n+WfuO0wqCTxzFGbfXL
fYJyHe/CjjAATEJdRMhV1Eh+zbTFpSxeeGi3VYjIuP4mJMtH08pEutP/QwARAQAB
tC9SU3R1ZGlvLCBJbmMuIChjb2RlIHNpZ25pbmcpIDxpbmZvQHJzdHVkaW8uY29t
PokCOAQTAQIAIgUCWeeRpQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ
PzLud+MxaS/ioA//agsHe3QJfeyHjen7dq3Tsc8Z4/7Cyg4KTRR1B9h1QaxPuECN
TQhnb93DVOoT1UVts7pxf0z+Ek4eNQxsSgrQRjlwxe2604Ni0+QeXexQUCxyh6QV
M5XtFsnth7jRDRSpwuomDMJNChjRGebyQ78oIdnGs6rQwfwLc9ICtLWFBhFZevuB
Fq/HBlS9nhvPHAPQVsrsYHXFyZg40mRFZRDcG9RM4THoeJY40SO+qBFwGPbTpgzT
3u5DJnXROsPYHFYRP4eHFVXCk2ToIVp8rOnMkmVWLdHO533yK3Xys1e/0rTyg5h3
eHwiG9wiKqVRmntG+GNyQVkJxEd1J+e4qCGbw555DJrd+q0txvn38YUbawv0p1TI
tRBVfczNJqjufnb1h62VuS8Um2OLh6U+bE/FXoJXR3DxjHr3a4UedC4+GFO2V2ad
U2DIu3hBGoRGVsl2WuwYKXCz9UCdYXoVrrrzJHIGbDpt6YHA/AzteJHncZ2wESdz
xGQWGFQPFvM5+SzSJn8hVbX3ThFJBOdlhu56ncuywcjPRFRxxh8AFgOj5SzKzt36
5toyEBDsSCTqqNc4zYRdWuJ53IGEjp8kkWppJdZ82qFsP3JICfSUXaeMPUHjTLnG
VqoApQI4k3ro7COXqch+W3d/iAhXJiWcAM4m7bIM0PNy6gBoAJLPLdVKUDe5Ag0E
WeeRpQEQAOsuakuzzHhwdsChYRrytFcREMPucaW8woob2oWvwz7tIEXqw4Tiil7V
/rSeR1zCvU6vu64yeBC7jX/qB8FqGKn5jmXF3FETDvY8LvfZwAXExVPiZUVOKlWa
G5jynHc3xyw8hx2RTBZb4SO34ZeB80WMwZqPRCj5aziK8Fqka6BOzE1iidijhFIg
/hoOquBpPZYo1ZKdJQWwAOGcUPbteKBHmoNKIcFXSG8XSIUUcgcRSoMs2QHUE+jw
961XIspiSnsnVYeU7SadimKQ5gb71V7kn9GTHmgOUKyXn9JFp3A/0MErtl25Z83F
clbW1vBL+XJJDvsdSbFkW3oO5Z/g9RiRWYq+4ec5pPMDOrP05rdYHeC2HbqYmcfT
tV5ZR7nqVR1vlUfn7NVjKiVuVIxQ14SOBbIEmxIqipD828PuII5nPvui5O3u8L8p
MwWjF5ZKtCeKl1TBo2TXBUIFv7fbnYoBonBUkNufehTEgwGBGdF49ljBxZ2Giz5L
kRiAp64WPHjhnRWmVrDykCPcoQMydK2YeJs8hoDG4l0sCN0BpbrmnfaT9LvOEDEY
tpGFcu3TgViyMSbEb2V+ilhA4HiLMG9dmHYuCu06u8ttKnyoQp90bg1uJabGtmb6
sK71WwhU9l7Z5yu8s3gcYKghciqTbNVBq39aCZSzHZCV5QTrfTk/ABEBAAGJAh8E
GAECAAkFAlnnkaUCGwwACgkQPzLud+MxaS+Q1g/+KvQvvPQejVJ6jWzknqdUiDvr
DfJ04Ja5OudpYIJNHUcB+RZ0luxuu/0JgFhrDBRAEfPlsxzvb7hro/m8KrWpoHOl
SiZ6hi9HmeVSwq/SLw2dTKjePshmSHdZMB+Hyj46F/Rvz2a1OKcMkwhTrgSNi7Oj
hkeiJQv1paWiIgpJaYM8ooaorKuiACLOVLzvF8+Na2xkbfGEIaKawtJL+idO0+fs
u+MKGK1bLc3b41fDfsiH3+LdRXmccQnG/eTm0FcDOVcnXPHT1KEQFGCWSxDc/dbD
ePoTCBz88BLT73njpOdhKbWZ8/xBXZAV5fGrRqnFEEeaz55XrwwAEFhPH9k90tdq
qXdt1hKif2ZKQ3BHhlBWTFqUZLCCpTM7U446an5gpXe8CjVdM/taUzccG4TLD55K
BFdrMB2yRGEOJfyqbfJ8iu4Iht0bfs7PHC9IIlQGcFvhYoecrHmkeQ8vBgXYZ/44
tv1MoqlGLyMHBevQohqxRpnKcIaoRtB5vGNHLNijn/A0/0RAmLK9Fk0+Dz5UGGbh
1qEbSWFw6ve9p5sOvYDLN0K+eQGIOaRg8GbWg7PYD9fTjg+eK4GRzb4QcOKi5mCB
WW03NUDE37fsJ6WWAOcm6Xn9jJjSHJx8A6TVqZbYTVSbUMM+l5J5iwbbI4iuthbC
KnsgPc6R5xg/55Im4NU=
=WoWq
-----END PGP PUBLIC KEY BLOCK-----