<p dir="auto">by <strong>alex.gaynor</strong>:</p>
<pre class="notranslate">Trying to load a PKCS8 DSA key fails with the error: 

    ERROR: asn1.StructuralError{Msg:"tags don't match (16 vs {class:0 tag:13 length:45 isCompound:true}) {optional:false explicit:false application:false defaultValue:&lt;nil&gt; tag:&lt;nil&gt; stringType:0 set:false omitEmpty:false} pkcs8 @2"}

An example of such a key is available at
<a href="https://raw.githubusercontent.com/pyca/cryptography/master/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-dsa-pkcs8.pem" rel="nofollow">https://raw.githubusercontent.com/pyca/cryptography/master/vectors/cryptography_vectors/asymmetric/PKCS8/unenc-dsa-pkcs8.pem</a>

It can be successfully parsed by OpenSSL:

$ cat ./vectors/cryptography_vectors/asymmetric/PKCS8/unenc-dsa-pkcs8.pem | openssl
pkcs8 -nocrypt | openssl dsa -text -noout
read DSA key
Private-Key: (1024 bit)
priv:
    00:a5:35:a8:e1:d0:d9:1b:ea:fc:8b:ee:1d:9b:2a:
    3a:8d:e3:31:12:03
(continued)

OpenSSL's documentation claims that the specification for this can actually be found in
PKCS#11 (<a href="https://www.openssl.org/docs/apps/pkcs8.html#STANDARDS)" rel="nofollow">https://www.openssl.org/docs/apps/pkcs8.html#STANDARDS)</a></pre>
<pre class="notranslate">In <a href="http://play.golang.org/p/RoelsmSVrI" rel="nofollow">http://play.golang.org/p/RoelsmSVrI</a>, this statement yields two errors:

  _ = []byte{"foo"}
  // cannot convert "foo" to type byte
  // cannot use "foo" (type string) as type byte in array element

One seems like plenty.  

FWIW, a similar pair of errors is emitted for other types T in []T{"foo"}.</pre>