title: Why is the public_key of the CertificateSigningRequest no property?
body: <p>like the title explained, I don't know why the <code>public_key</code> of the <code>_CertificateSigningRequest</code> is no <code>property</code>? In comparison the <code>subject</code> is a property. </p>
  
  <p>I use the cryptography module: <a href="https://cryptography.io/en/latest/x509/reference/?highlight=certificatesigningrequest#cryptography.x509.CertificateSigningRequest" rel="nofollow noreferrer">cryptography.x509.CertificateSigningRequest</a></p>
  
  <p>Here the code snippet from the <code>_CertificateSigningRequest</code>:</p>
  
  <pre><code>def public_key(self):
      pkey = self._backend._lib.X509_REQ_get_pubkey(self._x509_req)
      self._backend.openssl_assert(pkey != self._backend._ffi.NULL)
      pkey = self._backend._ffi.gc(pkey, self._backend._lib.EVP_PKEY_free)
      return self._backend._evp_pkey_to_public_key(pkey)
  
  @property
  def subject(self):
      subject = self._backend._lib.X509_REQ_get_subject_name(self._x509_req)
      self._backend.openssl_assert(subject != self._backend._ffi.NULL)
      return _decode_x509_name(self._backend, subject)
  </code></pre>
  
  <p>Could anyone give me a hint, please? - Thanks in advance!</p>