diff --git a/package/system/opkg/Makefile b/package/system/opkg/Makefile
index 3327a8e1ad3f5520dfaed99c6dfd3392d54ff7cf..624f2edba2cceb74541a3a1f490cff78fd51a8a3 100644
--- a/package/system/opkg/Makefile
+++ b/package/system/opkg/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/version.mk
 PKG_NAME:=opkg
 PKG_REV:=618
 PKG_VERSION:=$(PKG_REV)
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE_PROTO:=svn
 PKG_SOURCE_VERSION:=$(PKG_REV)
@@ -90,7 +90,7 @@ CONFIGURE_ARGS += \
 	--with-opkglockfile=/var/lock/opkg.lock
 
 ifeq ($(BUILD_VARIANT),smime)
-	CONFIGURE_ARGS += --enable-openssl
+	CONFIGURE_ARGS += --enable-openssl --enable-sha256
 endif
 
 MAKE_FLAGS = \
diff --git a/scripts/ipkg-make-index.sh b/scripts/ipkg-make-index.sh
index cbfa450c0a2aa7e4aeab9217a8dd98dd5ea8874c..a2f3deae17bab62c9355e5b4bf19c9953b753faa 100755
--- a/scripts/ipkg-make-index.sh
+++ b/scripts/ipkg-make-index.sh
@@ -18,11 +18,13 @@ for pkg in `find $pkg_dir -name '*.ipk' | sort`; do
 	echo "Generating index for package $pkg" >&2
 	file_size=$(ls -l $pkg | awk '{print $5}')
 	md5sum=$(md5sum $pkg | awk '{print $1}')
+	sha256sum=$(openssl sha256 $pkg | awk '{print $2}')
 	# Take pains to make variable value sed-safe
 	sed_safe_pkg=`echo $pkg | sed -e 's/^\.\///g' -e 's/\\//\\\\\\//g'`
 	tar -xzOf $pkg ./control.tar.gz | tar xzOf - ./control | sed -e "s/^Description:/Filename: $sed_safe_pkg\\
 Size: $file_size\\
 MD5Sum: $md5sum\\
+SHA256sum: $sha256sum\\
 Description:/"
 	echo ""
 done