diff --git a/.gitattributes b/.gitattributes
index d35d9873c4ad9f2668f3a87bd2762bf952950d3b..792446a59eaa0db35ab6ba9dfc68685f8347f165 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -233,6 +233,7 @@ testfont binary
 /lib/modules/Sql.pmod/tds.pike foreign_ident
 /lib/modules/Standards.pmod/ASN1.pmod/Decode.pmod foreign_ident
 /lib/modules/Standards.pmod/ASN1.pmod/Types.pmod foreign_ident
+/lib/modules/Standards.pmod/ASN1.pmod/module.pmod foreign_ident
 /lib/modules/Standards.pmod/ASN1.pmod/testsuite.in foreign_ident
 /lib/modules/Standards.pmod/EXIF.pmod foreign_ident
 /lib/modules/Standards.pmod/FIPS10_4.pmod foreign_ident
diff --git a/lib/modules/Standards.pmod/ASN1.pmod/module.pmod b/lib/modules/Standards.pmod/ASN1.pmod/module.pmod
new file mode 100644
index 0000000000000000000000000000000000000000..a2b4361924f10f771a0e9109ec2dee0ef58f0075
--- /dev/null
+++ b/lib/modules/Standards.pmod/ASN1.pmod/module.pmod
@@ -0,0 +1,28 @@
+// $Id: module.pmod,v 1.1 2008/07/22 20:14:36 mast Exp $
+
+string encode_der_oid (string dotted_decimal)
+//! Convenience function to convert an oid (object identifier) on
+//! dotted-decimal form (e.g. @expr{"1.3.6.1.4.1.1466.115.121.1.38"@})
+//! to its DER (and hence also BER) encoded form.
+//!
+//! @seealso
+//! @[decode_der_oid]
+{
+  // NB: No syntax checking at all..
+  .Types.Identifier id = .Types.Identifier();
+  id->id = (array(int)) (dotted_decimal / ".");
+  return id->der_encode();
+}
+
+string decode_der_oid (string der_oid)
+//! Convenience function to convert a DER/BER encoded oid (object
+//! identifier) to the human readable dotted-decimal form.
+//!
+//! @seealso
+//! @[encode_der_oid]
+{
+  // NB: No syntax checking at all..
+  .Types.Identifier id = .Types.Identifier();
+  id->decode_primitive (der_oid[2..]);
+  return (array(string)) id->id * ".";
+}