Add more APIs to CorePlatformApi for internal

Internal builds have more dependencies on core libs.
This adds required CorePlatformApi elements.

Bug: 113148576
Test: build (internal)
Change-Id: I36a822f4f4140351648fae29275271207d51a0f7
diff --git a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1Object.java b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1Object.java
index 3259d00..446b7da 100644
--- a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1Object.java
+++ b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1Object.java
@@ -39,6 +39,7 @@
      * @return byte encoded object.
      * @throws IOException on encoding error.
      */
+    @libcore.api.CorePlatformApi
     public byte[] getEncoded(
         String encoding)
         throws IOException
diff --git a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1ObjectIdentifier.java b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1ObjectIdentifier.java
index 0655774..852835e 100644
--- a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1ObjectIdentifier.java
+++ b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1ObjectIdentifier.java
@@ -28,6 +28,7 @@
      * @return an ASN1ObjectIdentifier instance, or null.
      * @throws IllegalArgumentException if the object cannot be converted.
      */
+    @libcore.api.CorePlatformApi
     public static ASN1ObjectIdentifier getInstance(
         Object obj)
     {
@@ -168,6 +169,7 @@
      *
      * @param identifier a string representation of an OID.
      */
+    @libcore.api.CorePlatformApi
     public ASN1ObjectIdentifier(
         String identifier)
     {
diff --git a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1Sequence.java b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1Sequence.java
index b9cb5fa..7dd3c91 100644
--- a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1Sequence.java
+++ b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1Sequence.java
@@ -272,6 +272,7 @@
      * @param index the sequence number (starting at zero) of the object
      * @return the object at the sequence position indicated by index.
      */
+    @libcore.api.CorePlatformApi
     public ASN1Encodable getObjectAt(
         int index)
     {
@@ -283,6 +284,7 @@
      *
      * @return the number of objects in this sequence.
      */
+    @libcore.api.CorePlatformApi
     public int size()
     {
         return seq.size();
diff --git a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1TaggedObject.java b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1TaggedObject.java
index 579ae93..c5c810a 100644
--- a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1TaggedObject.java
+++ b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/ASN1TaggedObject.java
@@ -9,6 +9,7 @@
  * rules (as with sequences).
  * @hide This class is not part of the Android public SDK API
  */
+@libcore.api.CorePlatformApi
 public abstract class ASN1TaggedObject
     extends ASN1Primitive
     implements ASN1TaggedObjectParser
@@ -128,6 +129,7 @@
         return true;
     }
     
+    @libcore.api.CorePlatformApi
     public int hashCode()
     {
         int code = tagNo;
@@ -181,6 +183,7 @@
      * trying to extract a tagged object you should be going via the
      * appropriate getInstance method.
      */
+    @libcore.api.CorePlatformApi
     public ASN1Primitive getObject()
     {
         if (obj != null)
diff --git a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DEROctetString.java b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DEROctetString.java
index a138e51..56aab6d 100644
--- a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DEROctetString.java
+++ b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DEROctetString.java
@@ -16,6 +16,7 @@
      *
      * @param string the octets making up the octet string.
      */
+    @libcore.api.CorePlatformApi
     public DEROctetString(
         byte[]  string)
     {
diff --git a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DERTaggedObject.java b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DERTaggedObject.java
index db19ce1..8f78e31 100644
--- a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DERTaggedObject.java
+++ b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DERTaggedObject.java
@@ -9,6 +9,7 @@
  * rules (as with sequences).
  * @hide This class is not part of the Android public SDK API
  */
+@libcore.api.CorePlatformApi
 public class DERTaggedObject
     extends ASN1TaggedObject
 {
@@ -27,6 +28,7 @@
         super(explicit, tagNo, obj);
     }
 
+    @libcore.api.CorePlatformApi
     public DERTaggedObject(int tagNo, ASN1Encodable encodable)
     {
         super(true, tagNo, encodable);
diff --git a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DERUTF8String.java b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DERUTF8String.java
index bbf7492..d4f15bf 100644
--- a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DERUTF8String.java
+++ b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/DERUTF8String.java
@@ -10,6 +10,7 @@
  * DER UTF8String object.
  * @hide This class is not part of the Android public SDK API
  */
+@libcore.api.CorePlatformApi
 public class DERUTF8String
     extends ASN1Primitive
     implements ASN1String
@@ -88,11 +89,13 @@
      *
      * @param string the string to be carried in the UTF8String object,
      */
+    @libcore.api.CorePlatformApi
     public DERUTF8String(String string)
     {
         this.string = Strings.toUTF8ByteArray(string);
     }
 
+    @libcore.api.CorePlatformApi
     public String getString()
     {
         return Strings.fromUTF8ByteArray(string);
diff --git a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/x509/GeneralName.java b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/x509/GeneralName.java
index 414640e..0d344d9 100644
--- a/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/x509/GeneralName.java
+++ b/android_bcprov/src/main/java/com/android/org/bouncycastle/asn1/x509/GeneralName.java
@@ -44,17 +44,21 @@
  * </pre>
  * @hide This class is not part of the Android public SDK API
  */
+@libcore.api.CorePlatformApi
 public class GeneralName
     extends ASN1Object
     implements ASN1Choice
 {
+    @libcore.api.CorePlatformApi
     public static final int otherName                     = 0;
     public static final int rfc822Name                    = 1;
+    @libcore.api.CorePlatformApi
     public static final int dNSName                       = 2;
     public static final int x400Address                   = 3;
     public static final int directoryName                 = 4;
     public static final int ediPartyName                  = 5;
     public static final int uniformResourceIdentifier     = 6;
+    @libcore.api.CorePlatformApi
     public static final int iPAddress                     = 7;
     public static final int registeredID                  = 8;
 
@@ -106,6 +110,7 @@
      * RFC 1883, the octet string MUST contain exactly sixteen octets [RFC
      * 1883].
      */
+    @libcore.api.CorePlatformApi
     public GeneralName(
         int           tag,
         ASN1Encodable name)
@@ -137,6 +142,7 @@
      * @param name string representation of name
      * @throws IllegalArgumentException if the string encoding is not correct or     *             not supported.
      */
+    @libcore.api.CorePlatformApi
     public GeneralName(
         int       tag,
         String    name)
@@ -231,6 +237,7 @@
         return GeneralName.getInstance(ASN1TaggedObject.getInstance(tagObj, true));
     }
 
+    @libcore.api.CorePlatformApi
     public int getTagNo()
     {
         return tag;
diff --git a/srcgen/core-platform-api.txt b/srcgen/core-platform-api.txt
index 909f922..859d638 100644
--- a/srcgen/core-platform-api.txt
+++ b/srcgen/core-platform-api.txt
@@ -1,5 +1,9 @@
+# TODO: Remove comments and sort.
 field:com.android.org.bouncycastle.asn1.DERNull#INSTANCE
 field:com.android.org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers#sha256WithRSAEncryption
+field:com.android.org.bouncycastle.asn1.x509.GeneralName#dNSName
+field:com.android.org.bouncycastle.asn1.x509.GeneralName#iPAddress
+field:com.android.org.bouncycastle.asn1.x509.GeneralName#otherName
 field:com.android.org.bouncycastle.asn1.x509.X509Name#CN
 field:com.android.org.bouncycastle.asn1.x509.X509Name#DefaultSymbols
 field:com.android.org.bouncycastle.asn1.x509.X509Name#O
@@ -12,12 +16,20 @@
 method:com.android.org.bouncycastle.asn1.ASN1InputStream#readObject()
 method:com.android.org.bouncycastle.asn1.ASN1Integer#ASN1Integer(BigInteger)
 method:com.android.org.bouncycastle.asn1.ASN1ObjectIdentifier#getId()
+method:com.android.org.bouncycastle.asn1.ASN1ObjectIdentifier#getInstance(Object)
+method:com.android.org.bouncycastle.asn1.ASN1ObjectIdentifier#ASN1ObjectIdentifier(String)
 method:com.android.org.bouncycastle.asn1.ASN1OctetString#getOctets()
 method:com.android.org.bouncycastle.asn1.ASN1OctetString#hashCode()
+method:com.android.org.bouncycastle.asn1.ASN1TaggedObject#getObject()
+method:com.android.org.bouncycastle.asn1.ASN1TaggedObject#hashCode()
 method:com.android.org.bouncycastle.asn1.DERBitString#DERBitString(byte[])
 method:com.android.org.bouncycastle.asn1.DERInteger#DERInteger(long)
+method:com.android.org.bouncycastle.asn1.DEROctetString#DEROctetString(byte[])
 method:com.android.org.bouncycastle.asn1.DERSequence#DERSequence()
 method:com.android.org.bouncycastle.asn1.DERSequence#DERSequence(ASN1EncodableVector)
+method:com.android.org.bouncycastle.asn1.DERTaggedObject#DERTaggedObject(int,ASN1Encodable)
+method:com.android.org.bouncycastle.asn1.DERUTF8String#DERUTF8String(String)
+method:com.android.org.bouncycastle.asn1.DERUTF8String#getString()
 method:com.android.org.bouncycastle.asn1.pkcs.PrivateKeyInfo#getInstance(Object)
 method:com.android.org.bouncycastle.asn1.pkcs.PrivateKeyInfo#getPrivateKeyAlgorithm()
 method:com.android.org.bouncycastle.asn1.x509.AlgorithmIdentifier#getAlgorithm()
@@ -26,6 +38,9 @@
 method:com.android.org.bouncycastle.asn1.x509.BasicConstraints#getInstance(Object)
 method:com.android.org.bouncycastle.asn1.x509.BasicConstraints#isCA()
 method:com.android.org.bouncycastle.asn1.x509.Certificate#getInstance(Object)
+method:com.android.org.bouncycastle.asn1.x509.GeneralName#GeneralName(int,ASN1Encodable)
+method:com.android.org.bouncycastle.asn1.x509.GeneralName#GeneralName(int,String)
+method:com.android.org.bouncycastle.asn1.x509.GeneralName#getTagNo()
 method:com.android.org.bouncycastle.asn1.x509.SubjectPublicKeyInfo#getInstance(Object)
 method:com.android.org.bouncycastle.asn1.x509.Time#Time(Date)
 method:com.android.org.bouncycastle.asn1.x509.V3TBSCertificateGenerator#generateTBSCertificate()
@@ -67,16 +82,20 @@
 type:com.android.org.bouncycastle.asn1.ASN1ObjectIdentifier
 type:com.android.org.bouncycastle.asn1.ASN1OctetString
 type:com.android.org.bouncycastle.asn1.ASN1Primitive
+type:com.android.org.bouncycastle.asn1.ASN1TaggedObject
 type:com.android.org.bouncycastle.asn1.DERBitString
 type:com.android.org.bouncycastle.asn1.DERInteger
 type:com.android.org.bouncycastle.asn1.DERNull
 type:com.android.org.bouncycastle.asn1.DEROctetString
 type:com.android.org.bouncycastle.asn1.DERSequence
+type:com.android.org.bouncycastle.asn1.DERTaggedObject
+type:com.android.org.bouncycastle.asn1.DERUTF8String
 type:com.android.org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers
 type:com.android.org.bouncycastle.asn1.pkcs.PrivateKeyInfo
 type:com.android.org.bouncycastle.asn1.x509.AlgorithmIdentifier
 type:com.android.org.bouncycastle.asn1.x509.BasicConstraints
 type:com.android.org.bouncycastle.asn1.x509.Certificate
+type:com.android.org.bouncycastle.asn1.x509.GeneralName
 type:com.android.org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
 type:com.android.org.bouncycastle.asn1.x509.TBSCertificate
 type:com.android.org.bouncycastle.asn1.x509.Time
@@ -100,6 +119,7 @@
 # Got the wrong class
 # method:com.android.org.bouncycastle.asn1.DERSequence#getEncoded()
 method:com.android.org.bouncycastle.asn1.ASN1Object#getEncoded()
+method:com.android.org.bouncycastle.asn1.ASN1Object#getEncoded(String)
 
 # Unqualified name
 # method:com.android.org.bouncycastle.jce.provider.X509CertificateObject#X509CertificateObject(Certificate)
@@ -118,5 +138,7 @@
 type:com.android.org.bouncycastle.asn1.ASN1Sequence
 method:com.android.org.bouncycastle.asn1.ASN1BitString#hashCode()
 method:com.android.org.bouncycastle.asn1.ASN1Null#hashCode()
+method:com.android.org.bouncycastle.asn1.ASN1Sequence#getObjectAt(int)
 method:com.android.org.bouncycastle.asn1.ASN1Sequence#hashCode()
+method:com.android.org.bouncycastle.asn1.ASN1Sequence#size()
 # END