OSDN Git Service

libgo: Update to weekly.2011-12-06.
[pf3gnuchains/gcc-fork.git] / libgo / go / crypto / x509 / x509.go
index 7e6b5c9..65ca315 100644 (file)
@@ -927,10 +927,15 @@ func CreateCertificate(rand io.Reader, template, parent *Certificate, pub *rsa.P
                return
        }
 
-       asn1Issuer, err := asn1.Marshal(parent.Subject.ToRDNSequence())
-       if err != nil {
-               return
+       var asn1Issuer []byte
+       if len(parent.RawSubject) > 0 {
+               asn1Issuer = parent.RawSubject
+       } else {
+               if asn1Issuer, err = asn1.Marshal(parent.Subject.ToRDNSequence()); err != nil {
+                       return
+               }
        }
+
        asn1Subject, err := asn1.Marshal(template.Subject.ToRDNSequence())
        if err != nil {
                return