//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: public java.security.cert.X509Certificate[] loadCertificates(java.io.File certFile) throws java.security.cert.CertificateException, java.io.IOException public virtual X509Certificate[] LoadCertificates(File certFile) { CertificateFactory certFactory = CertificateFactory.getInstance(CERTIFICATE_TYPE); ICollection <X509Certificate> certificates = new LinkedList <X509Certificate>(); using (PemReader r = new PemReader(new StreamReader(certFile))) { for (PemObject pemObject = r.readPemObject(); pemObject != null; pemObject = r.readPemObject()) { sbyte[] encodedCert = pemObject.Content; //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: java.util.Collection<? extends java.security.cert.X509Certificate> loadedCertificates = (java.util.Collection<java.security.cert.X509Certificate>) certFactory.generateCertificates(new java.io.ByteArrayInputStream(encodedCert)); ICollection <X509Certificate> loadedCertificates = (ICollection <X509Certificate>)certFactory.generateCertificates(new MemoryStream(encodedCert)); certificates.addAll(loadedCertificates); } } if (certificates.Count == 0) { // Ok, failed to read as PEM file, try and read it as raw binary certificate using (FileStream @in = new FileStream(certFile, FileMode.Open, FileAccess.Read)) { certificates = (ICollection <X509Certificate>)certFactory.generateCertificates(@in); } } return(certificates.toArray(new X509Certificate[certificates.Count])); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: public java.security.PrivateKey loadPrivateKey(java.io.File privateKeyFile) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException public virtual PrivateKey LoadPrivateKey(File privateKeyFile) { using (PemReader r = new PemReader(new StreamReader(privateKeyFile))) { PemObject pemObject = r.readPemObject(); if (pemObject != null) { sbyte[] encodedKey = pemObject.Content; KeySpec keySpec = new PKCS8EncodedKeySpec(encodedKey); try { return(KeyFactory.getInstance("RSA").generatePrivate(keySpec)); } catch (InvalidKeySpecException) { try { return(KeyFactory.getInstance("DSA").generatePrivate(keySpec)); } catch (InvalidKeySpecException) { try { return(KeyFactory.getInstance("EC").generatePrivate(keySpec)); } catch (InvalidKeySpecException e) { throw new InvalidKeySpecException("Neither RSA, DSA nor EC worked", e); } } } } } // Ok, failed to read as PEM file, try and read it as a raw binary private key using (DataInputStream @in = new DataInputStream(new FileStream(privateKeyFile, FileMode.Open, FileAccess.Read))) { sbyte[] keyBytes = new sbyte[( int )privateKeyFile.length()]; @in.readFully(keyBytes); KeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes); return(KeyFactory.getInstance(DEFAULT_ENCRYPTION).generatePrivate(keySpec)); } }