diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 0b0343720e09..d3110c03dc66 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -29,6 +29,53 @@ rec {
     http://ftp.gnu.org/pub/gnu/
   ];
 
+  # GnuPG.
+  gnupg = [
+    ftp://gd.tuwien.ac.at/privacy/gnupg/
+    ftp://gnupg.x-zone.org/pub/gnupg/
+    ftp://ftp.gnupg.cz/pub/gcrypt/
+    ftp://sunsite.dk/pub/security/gcrypt/
+    http://gnupg.wildyou.net/
+    http://ftp.gnupg.zone-h.org/
+    ftp://ftp.jyu.fi/pub/crypt/gcrypt/
+    ftp://trumpetti.atm.tut.fi/gcrypt/
+    ftp://mirror.cict.fr/gnupg/
+    ftp://ftp.strasbourg.linuxfr.org/pub/gnupg/
+    ftp://ftp.cert.dfn.de/pub/tools/crypt/gcrypt/
+    ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/
+    ftp://ftp.freenet.de/pub/ftp.gnupg.org/gcrypt/
+    ftp://hal.csd.auth.gr/mirrors/gnupg/
+    ftp://igloo.linux.gr/pub/crypto/gnupg/
+    ftp://ftp.uoi.gr/mirror/gcrypt/
+    ftp://ftp.crysys.hu/pub/gnupg/
+    ftp://ftp.kfki.hu/pub/packages/security/gnupg/
+    ftp://ftp.hi.is/pub/mirrors/gnupg/
+    ftp://ftp.heanet.ie/mirrors/ftp.gnupg.org/gcrypt/
+    ftp://ftp3.linux.it/pub/mirrors/gnupg/
+    ftp://ftp.linux.it/pub/mirrors/gnupg/
+    ftp://ftp.bit.nl/mirror/gnupg/
+    ftp://ftp.demon.nl/pub/mirrors/gnupg/
+    ftp://ftp.surfnet.nl/pub/security/gnupg/
+    ftp://sunsite.icm.edu.pl/pub/security/gnupg/
+    ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.gnupg.org/
+    http://ftp.gnupg.tsuren.net/
+    http://www.mirror386.com/gnupg/
+    ftp://ftp.sunet.se/pub/security/gnupg/
+    ftp://mirror.switch.ch/mirror/gnupg/
+    ftp://ftp.mirrorservice.org/sites/ftp.gnupg.org/gcrypt
+
+    http://gnupg.unixmexico.org/ftp/
+    ftp://ftp.gnupg.ca/
+    http://gulus.usherbrooke.ca/pub/appl/GnuPG/
+    http://mirrors.rootmode.com/ftp.gnupg.org/
+
+    ftp://ftp.planetmirror.com/pub/gnupg/
+
+    ftp://pgp.iijlab.net/pub/pgp/gnupg/
+    ftp://ftp.ring.gr.jp/pub/net/gnupg/
+    ftp://gnupg.cdpa.nsysu.edu.tw/gnupg/
+  ];
+
   # kernel.org's /pub (/pub/{linux,software}) tree.
   kernel = [
     http://www.all.kernel.org/pub/
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 28d1e6929094..bb6298200a76 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libgcrypt-1.4.2";
 
   src = fetchurl {
-    url = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/${name}.tar.bz2";
+    url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
     sha256 = "1hsj26c68lffhz00mi5i70kc5mg9l0dxlf6g48ms4fvzdy218x5s";
   };
 
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index c1f98d5c4b0f..05128094589b 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "libgpg-error-1.4";
   src = fetchurl {
-    url = ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.4.tar.gz;
+    url = "mirror://gnupg/libgpg-error/${name}.tar.gz";
     sha256 = "06fn9rshrm7r49fkjc17xg39nz37kyda2l13qqgzjg69zz2pxxpz";
   };
 }
diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix
index f0dbe515475e..9182d1cf4bb0 100644
--- a/pkgs/tools/security/gnupg/default.nix
+++ b/pkgs/tools/security/gnupg/default.nix
@@ -6,13 +6,15 @@
 , stdenv, fetchurl, readline
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "gnupg-1.4.9";
   builder = ./builder.sh;
+
   src = fetchurl {
-    url = ftp://ftp.cert.dfn.de/pub/tools/crypt/gcrypt/gnupg/gnupg-1.4.9.tar.bz2;
+    url = "mirror://gnupg/gnupg/${name}.tar.bz2";
     sha256 = "1p86mdgij3llnkx8dvvjl19abgq86gdn6m4r6bc4xvgfjg6sp99w";
   };
+
   buildInputs = [readline];
   idea = if ideaSupport then fetchurl {
     url = http://nix.cs.uu.nl/dist/tarballs/idea.c.gz;
diff --git a/pkgs/tools/security/gnupg2/default.nix b/pkgs/tools/security/gnupg2/default.nix
index b7b97ed2bab5..2ac2608ea3c2 100644
--- a/pkgs/tools/security/gnupg2/default.nix
+++ b/pkgs/tools/security/gnupg2/default.nix
@@ -3,12 +3,14 @@
 # and install pinentry as well
 
 args: with args;
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "gnupg-2.0.8";
+
   src = fetchurl {
-    url = ftp://ftp.cert.dfn.de/pub/tools/crypt/gcrypt/gnupg/gnupg-2.0.8.tar.bz2;
+    url = "mirror://gnupg/gnupg/${name}.tar.bz2";
     sha256 = "04v9s92xph1hrhac49yyrgzdwjqshs2zawvjbi3jc2klwjpi1wqn";
   };
+
   buildInputs = [ readline openldap bzip2 zlib libgpgerror pth libgcrypt
     libassuan libksba libusb curl ];